Я разместил этот вопрос более недели назад в списке разработчиков Android, но пока ответов нет.
Я столкнулся со странной проблемой.Я работаю с базой данных, расположенной в / sdcard /, и по какой-то причине всякий раз, когда я добавляю <uses-sdk android:minSdkVersion="8" />
в манифест sqlite, открывается БД только для чтения.Это тоже немного страннее.Приведенный ниже код открывает БД и проверяет, доступна ли БД только для чтения, что возвращает ложь:
db = SQLiteDatabase.openDatabase("/sdcard/test.db3", null,
SQLiteDatabase.OPEN_READWRITE);
Log.i(LOGTAG, "Database status: " + db.isReadOnly());
, но если я пытаюсь записать какие-либо данные, с которыми она бомбардирует:*INFO/Database(6576): sqlite returned: error code = 8, msg = prepared
statement aborts at 24: [INSERT INTO tags(type_id , tag)
VALUES(?, ?);]
ERROR/Database(6576): Error inserting type_id =1 tag=TestTag
ERROR/Database(6576): android.database.sqlite.SQLiteException: error
code 8: attempt to write a readonly database
Если я удаляю тэг Использования-SDK из манифеста, все работает нормально.Я проверил это на эмуляторе, NexusOne с 2.2.1 и Galaxy Tab.Это известная проблема?Есть ли обходной путь?
Любая помощь будет принята с благодарностью.