Danke Dann werde ich das mal ausprobieren und berichten ob sich der Fehler behoben hat.
Edit: Hat leider nicht geklappt. Ich habe id in _id umgewandelt und SCANITEM zu BMIVERLAUF geändert.
Danke Dann werde ich das mal ausprobieren und berichten ob sich der Fehler behoben hat.
Edit: Hat leider nicht geklappt. Ich habe id in _id umgewandelt und SCANITEM zu BMIVERLAUF geändert.
Danke schonmal!
Entry.java:
public class Entry {
private long id;
private double BMI;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public double getBMI() {
return BMI;
}
public void setBMI(double BMI) {
this.BMI = BMI;
}
@Override
public String toString() {
return String.format("Your last BMI: %d " , BMI);
}
}
Alles anzeigen
MySQLiteHelper.java:
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class MySQLiteHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "BMITrend.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_CREATE_BMIVERLAUF = ""
+"create table BMIVERLAUF("
+" ID integer primary key autoincrement, "
+ "BMI double)";
public MySQLiteHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(TABLE_CREATE_BMIVERLAUF);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(MySQLiteHelper.class.getName(),
"Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS SCANITEM");
onCreate(db);
}
}
Alles anzeigen
VerlaufDataSource:
import java.util.ArrayList;
import java.util.List;
import de.fasterworm.bmidroid.MySQLiteHelper;
import de.fasterworm.bmidroid.Entry;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
public class VerlaufDataSource {
private SQLiteDatabase database;
private MySQLiteHelper dbHelper;
private String[] allColumns = { "ID","BMI"};
public VerlaufDataSource(Context context) {
dbHelper = new MySQLiteHelper(context);
}
public void open() throws SQLException {
database = dbHelper.getWritableDatabase();
}
public void close() {
dbHelper.close();
}
public Entry createEntry(double BMI) {
ContentValues values = new ContentValues();
values.put("BMI", BMI);
long insertId = database.insert("BMIVERLAUF", null,
values);
Cursor cursor = database.query("BMIVERLAUF",allColumns, "ID = " + insertId, null, null, null, null);
cursor.moveToFirst();
return cursorToEntry(cursor);
}
protected List<Entry> getAllEntries() {
List<Entry> EntriesList = new ArrayList<Entry>();
EntriesList = new ArrayList<Entry>();
Cursor cursor = database.query("BMIVERLAUF", allColumns, null, null, null, null, null);
cursor.moveToFirst();
if(cursor.getCount() == 0) return EntriesList;
while (cursor.isAfterLast() == false) {
Entry entry = cursorToEntry(cursor);
EntriesList.add(entry);
cursor.moveToNext();
}
cursor.close();
return EntriesList;
}
private Entry cursorToEntry(Cursor cursor) {
Entry entry = new Entry();
entry.setId(cursor.getLong(0));
entry.setBMI(cursor.getDouble(1));
return entry;
}
}
Alles anzeigen
Hallo allerseits!
Ich habe aktuell ein Projekt (BMI App), aber komme momentan nicht weiter. Ich schlage mich bereits eine Woche mit dem Problem rum und würde es jetzt gerne endlich beenden. Folgendes Problem: Die App soll eine Zahl (den BMI) in der SQLite Datenbank speichern und sie in die ListView eintragen. Ich weiß einfach nicht wo das Problem liegt!
Ich habe nach einem folgendem Tutorial gearbeitet:
Wenn ich die App auf dem Emulator laufen lasse wird immer in einem Toast "no such table... Select ID, BMI from BMIVerlauf " angezeigt. Den Eintrag von Logcat habe ich als Anhang beigefügt.
Ich hoffe mir kann jemand helfen. Ich poste auch gerne den Quellcode, falls notwendig.
Liebe Grüße,
Henrik
Wow, dass war mal eine Antwort! Ich glaube das hier wird zu meinem Lieblingsforum Ich bin aktuell dabei das die App den BMI in einer Datenbank speichert und dann in eine ListView einträgt. Funktioniert nur leider noch nicht. Ich habe schon eine Bewertung des BMI eingefügt, die sieht folgendermaßen aus:
}
else if(BMI < 30){
TVAuswertung.setText("You are Overweight");
TVAuswertung.setTextColor(getResources().getColor(R.color.gelb));
Und dann könnte man ja eine Expandable List einfügen... So viele Ideen...
Ich habe im Moment leider nur Größe und Gewicht eingerechnet. Bei Geschlecht und Alter muss ich noch sehen, wie ich das mache... Bin im Moment noch ziemlich ratlos.
Der BMI ist 26.82 (Das bedeutet übrigens Normal!)
Vielen, vielen Dank!
Ich habe Eclipse "gereinigt" und jetzt funktioniert alles wieder. Ich dachte schon ich hätte das Projekt zerstört oder sowas Zum Glück war das ja nicht der Fall.
LG,
Henny
Hallo liebe Community,
dies ist mein erster Beitrag hier, also nimmt mir Fehler oder dumme Fragen bitte nicht so übel
Ich bin in meinem Projekt (BMI Rechner) relativ weit fortgeschritten und aufeinmal zeigt mir Eclipse einen Fehler an. Und zwar in meiner welcome.java Datei.
Einige Beispiele der Fehler sind zum Beispiel:
,
,
,
und so weiter und sofort... Rot wird immer R und ich weiß nicht wieso. Die Fehlerbeschreibung lautet:"R cannot be resolved to a variable". Das letzte, was ich an meiner App verändert habe war die Übersetzung und ein Paar neue Texte.
Ich hoffe mir kann jemand helfen, bin echt Ratlos
LG,
Henrik