Вопрос

У меня есть один файл базы данных SQLite, и я не могу читать и писать в файле базы данных. Я использую этот код:

fileIsExists = new File(Environment.getExternalStorageDirectory()
            + "/bbmp/bbmp2.sqlite");
    if (fileIsExists.exists()) {
db = SQLiteDatabase.openDatabase(fileIsExists.toString(), null,
                 SQLiteDatabase.OPEN_READWRITE);        
}
.

Этот бросок после ошибки:

10-01 17:09:17.343: E/Database(9216): DELETE failed setting locale

10-01 17:09:17.374: E/Database(9216): Failed to setLocale() when constructing, closing the database

10-01 17:09:17.374: E/Database(9216): android.database.sqlite.SQLiteException: attempt to write a readonly database

10-01 17:09:17.374: E/Database(9216):   at android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method)

10-01 17:09:17.374: E/Database(9216):   at android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:1987)

10-01 17:09:17.374: E/Database(9216):   at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1855)

10-01 17:09:17.374: E/Database(9216):   at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:820)

10-01 17:09:17.374: E/Database(9216):   at com.pixel.bbmp2.Bbmp2Activity.checkDirectory(Bbmp2Activity.java:150)

10-01 17:09:17.374: E/Database(9216):   at com.pixel.bbmp2.Bbmp2Activity.onCreate(Bbmp2Activity.java:115)

10-01 17:09:17.374: E/Database(9216):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

10-01 17:09:17.374: E/Database(9216):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)

10-01 17:09:17.374: E/Database(9216):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)

10-01 17:09:17.374: E/Database(9216):   at android.app.ActivityThread.access$1500(ActivityThread.java:117)

10-01 17:09:17.374: E/Database(9216):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)

10-01 17:09:17.374: E/Database(9216):   at android.os.Handler.dispatchMessage(Handler.java:99)

10-01 17:09:17.374: E/Database(9216):   at android.os.Looper.loop(Looper.java:123)

10-01 17:09:17.374: E/Database(9216):   at android.app.ActivityThread.main(ActivityThread.java:3683)

10-01 17:09:17.374: E/Database(9216):   at java.lang.reflect.Method.invokeNative(Native Method)

10-01 17:09:17.374: E/Database(9216):   at java.lang.reflect.Method.invoke(Method.java:507)

10-01 17:09:17.374: E/Database(9216):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)

10-01 17:09:17.374: E/Database(9216):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)

10-01 17:09:17.374: E/Database(9216):   at dalvik.system.NativeStart.main(Native Method)
.

В следующей таблице в файле базы данных Введите описание изображения здесь

Что мне нужно сделать здесь ?????

Это было полезно?

Решение

Вы пытаетесь открыть базу данных только для чтения в режиме записи.Вы можете проверить код для открытия базы данных в режиме только чтения, здесь может кто-то объяснить, чтоЭта линия делает?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top