我正在开发使用共享首选项和内容提供程序的应用程序。但每次我输入我的应用程序时,我的共享首选项和数据库数据都不存在。
我正在使用acra进行错误报告,而且从日志中看来它也无法访问文件:
10-05 21:19:00.868 E / ApplicationContext(11683):无法将文件/dbdata/databases/xxx/shared_prefs/xxx_preferences.xml重命名为备份文件/ dbdata / databases / xxx / shared_prefs / xxx_preferences .xml.bak
数据库也很难插入数据,这里有一个错误:
10-05 21:19:01.770 E / Database(11683):android.database.sqlite.SQLiteConstraintException:错误代码19:约束失败
我不知道是什么造成了这个错误。它仅在我的手机上发生,它在模拟器上运行正常。
这是手机规格: 型号..三星-sgh-i997 固件.. 2.2.1 基带.. I997UCKH1 内核.. 2.6.32.9 建造...... FROYO.UCKH1
答案 0 :(得分:3)
有一个三星ROM的错误版本。我有一个...它影响Froyo 2.2.1版本。
我现在找不到除this question之外的其他内容 只需继续寻找 samsung 和共享偏好,您就会找到更多。
基本上存在一个错误,导致您的应用程序失去对共享首选项的写入权限。没有模式,有时会发生所有类型的应用程序并删除受影响的文件夹并重新安装应用程序总能解决问题(至少对我而言)。这让我疯了,直到我发现......
数据库错误是另一回事,我不认为它与第一个问题有关。您应该检查哪个约束失败。对我来说似乎是一个错误的查询。搜索受影响的代码并在此处发布(尝试将其缩小到所需的最低代码)...