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性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...