我在我的一个
Android项目中使用Sqlite数据库.除了One Plus Two设备之外,所有设备都可以正常工作.
尝试打开数据库时我收到异常.这是崩溃日志.
12-23 19:14:35.235: E/SQLiteLog(3133): (11) database corruption at line 53216 of [9491ba7d73] 12-23 19:14:35.235: E/SQLiteLog(3133): (11) statement aborts at 7: [SELECT locale FROM android_metadata UNION SELECT NULL ORDER BY locale DESC LIMIT 1] 12-23 19:14:35.237: E/SQLiteDatabase(3133): Failed to open database '/data/data/com.zanec.dryjanuary/databases/alcochange.sqlite'. 12-23 19:14:35.237: E/SQLiteDatabase(3133): android.database.sqlite.SQLiteException: Failed to change locale for db '/data/data/com.zanec.dryjanuary/databases/alcochange.sqlite' to 'en_US'.
请click here查看完整的崩溃日志
我在这里看到过其他的问题,我已经尝试了几乎每一个答案,但没有任何作用.
我试过this和this.
编辑:设备运行在Oxygen Lollipop.
解决方法
我找不到为什么我有这个错误的原因,但不知何故,我已经通过执行以下操作来避免这种情况.
以前,我在包中有一个.sqlite数据库,当用户第一次打开我们的应用程序时,我将.sqlite数据库从包复制到正确的路径.
但是现在,我已经从.sqlite导出了原始查询,并将其作为txt文件添加到bundle中.现在当用户第一次打开应用程序时,我将首先在该路径中创建一个空的.sqlite文件,然后从该软件包中读取txt文件中的所有.sql查询,然后通过.sqlite文件执行路径.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。