如何解决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 举报,一经查实,本站将立刻删除。