SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

SQLiteDatabase android IllegalStateException


Eu não acredito que você deveria estar recebendo uma nova instância SQLiteDatabase assim toda vez. Você deseja manter uma referência ao objeto SQLiteDatabase em seu SQLiteOpenHelper. Seu SQLiteOpenHelper deve ser construído mais ou menos como o seguinte:
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);
    }

....
}