SQLite
 sql >> Datenbank >  >> RDS >> SQLite

SQLiteDatabase android IllegalStateException

Ich glaube nicht, dass Sie jedes Mal eine neue SQLiteDatabase-Instanz wie diese erhalten sollten. Sie möchten einen Verweis auf das SQLiteDatabase-Objekt in Ihrem SQLiteOpenHelper beibehalten. Ihr SQLiteOpenHelper sollte eher wie folgt aufgebaut sein:

public class DataBase extends SQLiteOpenHelper {

...
    private SQLiteDatabase mDatabase;

    @Override
    public void onCreate(SQLiteDatabase db) {
        ...
        mDatabase = db;
        ...
    }

    void addUser(String who, String time, String table, String phone) {
        ContentValues values = new ContentValues();
        values.put(KEY_NAME, who);
        values.put(KEY_PHONE, phone);
        values.put(KEY_TABLE_RES, table);
        values.put(KEY_TIME, time);
        mDatabase.insert(TABLE_RESERVATION, null, values);
    }

....
}