微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android会议室数据库未立即在db中插入数据

如何解决Android会议室数据库未立即在db中插入数据

我在android项目中使用room,直到一天我发现Room不会立即在db中插入数据为止,一切正常。

我如何复制

当我运行命令 appdatabase.getUserDao()。insert(user)时,两秒钟后,当我从手机中取出电池并导出数据库后,我发现没有插入数据D b。那是100%可以肯定的,因为我的团队已经多次复制了它。似乎不是直接存储到db中,而是缓存了一段时间。

有什么解决方案吗?数据将直接存储在db中而不是缓存吗?

解决方法

是的,在导出之前关闭数据库:

RoomDatabase.close()

确保它是

Room.databaseBuilder()

不是

Room.inMemoryDatabaseBuilder()

检查线程是否正常执行,并且您没有中断{​​{1}}插入

,

尝试使用异步任务插入数据。作为异步任务,在后台逐项工作。 我也在使用异步任务来插入和更新它,这对我来说是完美的。

P.S:我正在使用Java,但您提到过Kotlin,我想您也可以在Kotlin中使用Async。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。