更新数据库中数据之后,重新加载数据发现加载出来的是旧数据,重新打开应用之后就是新数据了,怎么回事?

发布于 2022-09-01 18:44:01 字数 662 浏览 16 评论 0

这边这边,我和他问题一样
https://github.com/greenrobot/greenDAO/issues/165

更新数据库中数据之后,重新加载数据发现加载出来的是旧数据,重新打开应用之后就是新数据了,怎么回事?

使用的是greenDao操作数据库。

android开发,sqlite,数据量很少

更新数据库中的信息之后,去app目录下查找数据库,返现内容已经变化,但是app内加载这些数据还是旧的。关闭app重新打开后就是新的数据了。

可能是greendao有临时的数据库在操作,但是我找不到像强制提交的方法。。

还有一个情况是:
1.app启动的时候,自动开启广播扫描本地设备,获取到设备信息之后存到数据库。
2.登录账户,从云端拉取数据,和本地扫描到设备可能是一个,只更新对应设备部分字段即可。
3.还有一个定时广播扫描,在app启动40秒之后,也是获取设备信息,更新到数据库。

发生问题是在,我登录操作在这两次扫描之间。我登录之后做的更新数据库的操作失效了。再次期间查看数据库,数据其实是有更新上,但是第二次扫描之后,之前的数据就又没了。。当然界面上读取数据库中的内容显示一直是旧的。。

天。

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

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

发布评论

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

评论(4

无妨# 2022-09-08 18:44:01

使用refresh方法

指尖上的星空 2022-09-08 18:44:01

会不会是线程同步问题,数据库操作耗时较久,导致获取的数据还是旧数据。

空‖城人不在 2022-09-08 18:44:01

数据库不行,估计是数据库系统有问题,建议换成mysql数据库

笑红尘 2022-09-08 18:44:01

关于旧数据的问题,我记得是要在你更新之前要先clean一下,greenDao中某个类有这个方法的

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