Я пишу приложение для Android, которое одновременно работает с некоторыми базами данных SQLite.
Это приложение работает с базами данных автономных карт, созданными Mobile Atlas Creator. У меня есть другая база данных, которая содержит некоторые метаданные об этих картах (map_meta_db.sqlitedb).
Все эти базы данных хранятся на внешней SD-карте.
Все файлы базы данных карты предварительно заполнены, поэтому я открываю их с флагом SQLiteDatabase.OPEN_READONLY.
Но map_meta_db не только для чтения, поэтому я открываю его с флагом SQLiteDatabase.OPEN_READWRITE.
Я предоставил свое приложение для чтения и записи внешних sd в AndroidManifest.xml:
использует разрешение android: name = "android.permission.WRITE_EXTERNAL_STORAGE"
Проблема в том, что я могу открыть все базы данных и прочитать их данные, но когда я хочу вставить новую запись в map_meta_db, просто ничего не происходит! Не исключение, без вставки!
try {
SQLiteDatabase map_meta_db = SQLiteDatabase.openDatabase(pathToMapMetadataDirectory + MAP_METADATA_DATABASE_NAME, null, SQLiteDatabase.OPEN_READWRITE);
metaDb.rawQuery(insertSql, null);
} catch (Exception e) {
Log.d(DEBUG_TAG, "While inserting new record, an error occured:" + e.getMessage());
}
Есть идеи?