Ich versuche nur, eine Datenbank mit einem Tutorial zu erstellen und es stürzt auf mich und hoffte, dass jemand mir eine Richtung geben könnte, was los ist.Android SQLite Beispiel App stoppt unerwartet
MainActivity.java
package com.example.dwalker.btv2;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DatabaseHelper myDB = new DatabaseHelper(this);
}
}
DatabaseHelper.java
package com.example.dwalker.btv2;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by DWalker on 5/24/2017.
*/
public class DatabaseHelper extends SQLiteOpenHelper {
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "events.db";
public static final String TABLE_NAME = "event_table";
public static final String COL_1 = "ID";
public static final String COL_2 = "EVENT";
public static final String COL_3 = "EVENTDATE";
public static final String COL_4 = "EVENTTIME";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
SQLiteDatabase db = this.getWritableDatabase();
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE event_table (ID INTEGER PRIMARY KEY AUTOINCREMENT, EVENT TEXT, EVENTDATE TEXT, EVENTTIME TEXT");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
Wenn ich die App auf dem Emulator laufen seine nur mir unerwartet in gestoppt zu erzählen. Alles, was ich versuche zu tun, ist die DB-Datei zu erstellen, damit ich überprüfen kann, ob es korrekt ausgeführt wird.
Dank
DW
Verwenden Sie LogCat, um die Java-Stack-Ablaufverfolgung, die Ihrem Absturz zugeordnet ist, zu untersuchen: https://StackOverflow.com/questions/23353173/universe-myapp-has-stopped-how-can-i-solve-this. Höchstwahrscheinlich liegt Ihr Problem darin, dass Sie 'SQLiteDatabase db = this.getWritableDatabase();' im Konstruktor Ihrer 'SQLiteOpenHelper'-Unterklasse haben. – CommonsWare
Zuerst ändern Sie das ID-Feld zu _ID es wird einfacher sein, die eingebauten Sachen zu bekommen, um die Daten zu laden. – danny117