Wenn ich versuche, Daten in die Datenbank einzureichen, stürzt die App ab.Probleme beim Einfügen in DB
Hier sind die Teile der Java-Datei zum Erstellen und Einfügen von Daten in die Datenbank.
Meine Contract.java
Klasse hat die folgenden Informationen:
public class Contract {
public static abstract class customReminder{
public static final String TABLE_NAME = "CUSTOM_REMINDER";
public static final String ID = "ID";
public static final String TITLE = "TITLE";
public static final String DESCRIPTION = "DESCRIPTION";
public static final String DATE_TIME = "DATE_TIME";
public static final String[] REMINDER_COLUMNS = {ID, TITLE, DESCRIPTION, DATE_TIME};
}
Meine DBHelper.java
Klasse:
//SQLite statement for custom reminder table
public static final String CUSTOM_REMINDER_TABLE = "CREATE TABLE " + Contract.customReminder.TABLE_NAME + "("
+ Contract.customReminder.ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ Contract.customReminder.TITLE + " TEXT,"
+ Contract.customReminder.DESCRIPTION + " TEXT,"
+ Contract.customReminder.DATE_TIME + " TEXT,"
+ ");";
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CUSTOM_REMINDER_TABLE);
}
Meine CustumRemider.java
Klasse:
public boolean createCustomReminder(String title, String description, String dateTime){
ContentValues contentValues = new ContentValues();
contentValues.put(mAllColumns[1], title);
contentValues.put(mAllColumns[2], description);
contentValues.put(mAllColumns[3], dateTime);
long result = mDatabase.insert(Contract.customReminder.TABLE_NAME, null, contentValues);
return result != -1;
}
ich die Datenbank auf meinem PC von Android heruntergeladen Device Monitor und öffnete es mit SQ LiteBrowser. Ich stelle fest, dass eine Tabelle android_metadata
statt CUSTOM_REMINDER
erstellt wird.
CREATE TABLE android_metadata (locale TEXT)
ich weder wissen, wo die Abfrage kommt noch, warum es dies tut.
Bitte senden Sie LogCat Fehler – LaurentY
'erstellen android_metadata' Tabelle erzeugt wird, by Android & speichert Metadaten, die Android benötigt. Gibt es noch etwas falsch? Ein stacktrace des Absturzes wäre hilfreich – zapl
Haben Sie irgendwo eine Instanz des SqliteOpenHelper erstellt? Die Tabelle wird erst erstellt, wenn Sie versuchen, die Datenbankverbindung zu öffnen –