gpt4 book ai didi

android - 如何在执行 InsertOrReplace 时解决 greenDAO "No such table exists error"?

转载 作者:太空宇宙 更新时间:2023-11-03 12:15:32 24 4
gpt4 key购买 nike

我正在使用 greenDAO,我已经成功生成了所有必要的类和实体,我可以看到我的表已经创建,但是在要替换的行上放置断点后,我收到一条错误消息,告诉我“没有这样的表存在错误".

try {
appTimeUsageDao.insertOrReplace(appStats);
//} catch (DaoException e) {
} catch (Exception e) {
Log.e("Error", "Some exception occurred", e);
Log.e("APP_TAG", Log.getStackTraceString(e));
}

最佳答案

对我来说,这个问题与 list 中的这个 allowBackup 标志有关。

这个功能是从 api 23 开始添加的,它的作用是恢复设备数据库,即使应用程序已被卸载,所以如果你试图通过卸载来清除数据库,它不会像 Android 恢复它一样工作,类似于 iCloud 的工作方式。

我可能在解释此错误的文档中遗漏了某处,但我不清楚这可能是 GreenDao 3 中的一个问题。此外,由于许多用户将设置测试实体而不考虑处理升级路径因为他们不想保留测试表,这会导致恢复单个表而不会创建新表的情况。

所以基本上,如果您只是测试,请将标志设置为 false,否则处理升级流程。 (标志默认为真!)

https://developer.android.com/guide/topics/data/autobackup.html

关于android - 如何在执行 InsertOrReplace 时解决 greenDAO "No such table exists error"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38007294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com