当我在sqllite db文件中更改文本时出现异常

问题描述 投票:0回答:1

我将html存储在sqllite db类中,我需要更新该html的文本。当我进行更改并运行我的应用程序时,出现以下异常。不确定为什么无法创建文件

    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)   
2020-04-06 07:09:41.540 2082-3288/system_process E/SQLiteDatabase: DB wipe detected: package=com.exceed reason=corruption file=/storage/emulated/0/Android/data/com.exceed/files/DataModel3.sqlite ctime=2020-04-06T03:09:41Z mtime=2020-04-06T03:09:41Z atime=2020-04-06T03:09:41Z checkfile [unable to obtain timestamp]
2020-04-06 07:09:41.540 2082-3288/system_process E/SQLiteDatabase: at java.lang.Throwable: STACKTRACE
    at android.database.sqlite.SQLiteDatabase.wipeDetected(SQLiteDatabase.java:2741)
    at android.database.DefaultDatabaseErrorHandler.onCorruption(DefaultDatabaseErrorHandler.java:55)
    at android.database.sqlite.SQLiteDatabase.onCorruption(SQLiteDatabase.java:399)
    at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:899)
    at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:786)
    at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:733)
    at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.returnDatabase(SQLiteAssetHelper.java:408)
    at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.createOrOpenDatabase(SQLiteAssetHelper.java:401)
    at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.getWritableDatabase(SQLiteAssetHelper.java:176)
    at com.exceed.uae.new_build.database.OpenHelper.<init>(OpenHelper.java:23)
    at com.exceed.uae.new_build.database.OpenHelper.getDatabase(OpenHelper.java:28)
    at com.exceed.uae.new_build.FcaApplication.onCreate(FcaApplication.java:92)
    at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1182)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6460)
    at android.app.ActivityThread.access$1300(ActivityThread.java:219)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
    at android.os.Handler.dispatchMessage(Handler.java:107)
    at android.os.Looper.loop(Looper.java:214)
    at android.app.ActivityThread.main(ActivityThread.java:7356)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     2020-04-06 07:09:41.540 2082-3288/system_process E/SQLiteDatabase: DB wipe detected: package=com.exceed reason=corruption file=/storage/emulated/0/Android/data/com.exceed/files/DataModel3.sqlite ctime=2020-04-06T03:09:41Z mtime=2020-04-06T03:09:41Z atime=2020-04-06T03:09:41Z checkfile [unable to obtain timestamp]
     2020-04-06 07:09:41.541 18613-18613/com.exceed E/DefaultDatabaseErrorHandler: deleting the database file: /storage/emulated/0/Android/data/com.exceed/files/DataModel3.sqlite
     2020-04-06 07:09:41.542 18613-18613/com.exceed E/SQLiteLog: (14) cannot open file at line 36683 of [c255889bd9]

    2020-04-06 07:09:41.542 18613-18613/com.exceed E/SQLiteLog: (14) os_unix.c:36683: (2) open(/storage/emulated/0/Android/data/com.exceed/files/DataModel3.sqlite) - 
    2020-04-06 07:09:41.544 18613-18613/com.exceed E/SQLiteDatabase: Failed to open database '/storage/emulated/0/Android/data/com.exceed./files/DataModel3.sqlite'.
android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14 SQLITE_CANTOPEN): Could not open database
    at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
    at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:215)
    at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:197)
    at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:505)
    at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:206)
    at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:198)
    at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:915)
    at android.database
android sqlite android-studio exception
1个回答
0
投票

为了在ios或android中对sqllite文件进行任何更改,我们不能直接更改sqllite文件,否则会出错。我们需要为数据库下载sqllite,然后可以通过触发sql查询来更改数据。

© www.soinside.com 2019 - 2024. All rights reserved.