Android One Plus Two:无法更改db的区域设置

前端之家收集整理的这篇文章主要介绍了Android One Plus Two:无法更改db的区域设置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的一个 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查看完整的崩溃日志

我在这里看到过其他的问题,我已经尝试了几乎每一个答案,但没有任何作用.
我试过thisthis.

编辑:设备运行在Oxygen Lollipop.

解决方法

我找不到为什么我有这个错误的原因,但不知何故,我已经通过执行以下操作来避免这种情况.

以前,我在包中有一个.sqlite数据库,当用户第一次打开我们的应用程序时,我将.sqlite数据库从包复制到正确的路径.

但是现在,我已经从.sqlite导出了原始查询,并将其作为txt文件添加到bundle中.现在当用户第一次打开应用程序时,我将首先在该路径中创建一个空的.sqlite文件,然后从该软件包中读取txt文件中的所有.SQL查询,然后通过.sqlite文件执行路径.

猜你在找的Android相关文章