没有共享首选项或数据库文件

发布于 2024-12-08 14:44:09 字数 698 浏览 0 评论 0原文

我正在开发使用共享首选项和内容提供商的应用程序。但每次我进入我的应用程序时,我的共享首选项和数据库数据都不存在。

我正在使用 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:00.868 E / ApplicationContext(11683):也 数据库很难插入数据,这里有一个错误:

10-05 21:19:01.770 E/Database(11683): android.database.sqlite.SQLiteConstraintException: 错误代码 19: 约束失败

我不知道是什么造成了这个错误。它发生在我的手机上,在模拟器上运行良好。

这是手机规格: 型号.. Samsung-sgh-i997 固件..2.2.1 基带..I997UCKH1 内核..2.6.32.9 构建.. FROYO.UCKH1

I am developing application that uses shared preferences and content provider. But everytime I enter my application my shared preferences and db data are not there.

I am using acra for error reporting and from logs it seems it also have trouble accessing file:

10-05 21:19:00.868 E/ApplicationContext(11683): Couldn't rename file /dbdata/databases/x.x.x/shared_prefs/x.x.x_preferences.xml to backup file /dbdata/databases/x.x.x./shared_prefs/x.x.x_preferences.xml.bak

also database have hard time inserting data, here is an error:

10-05 21:19:01.770 E/Database(11683): android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed

I have no idea what is creating this bug. It only happens on my phone, it works fine on emulator.

Here is phone spec:
Model number.. Samsung-sgh-i997
Firmware.. 2.2.1
Baseband.. I997UCKH1
kernel.. 2.6.32.9
Build.. FROYO.UCKH1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

话少心凉 2024-12-15 14:44:10

三星 ROM 有一个有缺陷的版本。我有一个...它影响 Froyo 2.2.1 版本。

除了 我找不到其他东西现在就这个问题
只要继续寻找三星共享偏好,您就会发现更多。

基本上有一个错误会导致您的应用程序失去对共享首选项的写入权限。没有模式,有时所有类型的应用程序都会发生这种情况,删除受影响的文件夹并重新安装应用程序总是可以解决问题(至少对我来说)。这让我发疯,直到我发现......

数据库错误是别的东西,我不认为它与第一个问题有关。您应该检查哪个约束失败。对我来说似乎是一个错误的查询。搜索受影响的代码并将其发布在此处(尝试将其范围缩小到所需的最低代码)...

There's a buggy version of samsung ROMs. I have one... It affects Froyo 2.2.1 editions.

I can't find something else than this question right now.
Just keep looking for samsung and shared preferences and you will find more.

Basically there's a bug which causes your application to lose write pemission to your shared preferences. There's no pattern, it happens sometimes with all kind of apps and deletion of the affected folder and reinstall of the app always solves the problem (at least for me). This was driving me insane until I found out...

The database error is something else and I don't think that it relates to the first problem. You should check which constraint fails. Seems like a wrong query to me. Search for the affected code and post it here (try to narrow it down to the minimum required code)...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文