В моем приложении для Android у меня есть следующий код, создающий мою базу данных. Это не проблема, но непосредственно после выполнения этого кода я пытаюсь получить getReadableDatabase (), и он говорит, что база данных заблокирована, выдав исключение
Нужно ли что-то закрывать / уничтожать, чтобы оно не было заблокировано? Спасибо!
// это сделано, чтобы увидеть, создано ли оно еще
private boolean checkDataBase() {
SQLiteDatabase checkDB = null;
try {
String myPath = "/data/data/com.hats.android/databases/";
checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
} catch (SQLiteException e) {
//database does't exist yet.
}
if (checkDB != null) {
checkDB.close();
}
return checkDB != null ? true : false;
}
// затем для его создания делается следующее (после этого возникает ошибка getReadableDatabase ())
@Override
public void onCreate(SQLiteDatabase db) {
SQLiteDatabase checkDB = null;
String myPath = "/data/data/com.hats.android/databases/";
checkDB = this.myContext.openOrCreateDatabase(myPath, SQLiteDatabase.CREATE_IF_NECESSARY, null);
checkDB.execSQL("CREATE TABLE hats (hat_id INTEGER PRIMARY KEY AUTOINCREMENT, type TEXT)");
checkDB.close();
}