Перед закрытием приложения я вижу, что в моей базе данных SQLite есть таблица с названием 'styles'. В таблице есть несколько записей. Однако, как только я закрываю свое приложение и снова открываю его, если я выполняю необработанный запрос «SELECT * FROM styles», результаты не возвращаются.
Я создаю свою базу данных SQLite:
SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(getDatabaseDirectory(), null);
boolean hasEntries = database.rawQuery("SELECT * FROM styles", new String[]{}).moveToFirst();
// hasEntries is always false
...
database.close()
Метод getDatabaseString () реализован следующим образом:
private File getDatabaseDirectory() {
File dbpath = this.context.getDatabasePath( "MyAppsDatabase" );
if (!dbpath.getParentFile().exists()) {
dbpath.getParentFile().mkdirs();
}
return dbpath;
}
Это выполняется в потоке, отличном от потока пользовательского интерфейса, если это имеет какой-либо эффект? Я видел несколько примеров, когда отдельные лица переопределяли каталог базы данных при получении пути к базе данных, но я предполагаю, что это не моя проблема. Любые предложения будут очень полезны. Спасибо!