android - 返回没有 LiveData 的查询
问题描述
基本上我想做的是当我打开我的应用程序时它会进行查询以从数据库中获取一个值并使用它。
我正在使用 Room,当我尝试不使用 LiveData 时它告诉我Cannot access database on the main thread since it may potentially lock the UI for a long period of time
,所以我想知道如何避免使用 LiveData,因为如果我使用它(如果我理解正确的话)我不能只从数据库中挑选信息 -我必须等到某些事情发生变化,然后我才能访问查询结果。
解决方案
所以我找到了一个简单的解决方案。
因为我只希望这个查询使用一次——在应用程序启动时,我刚刚使用allowMainThreadQueries()函数启用了 Room 数据库以使用主线程。
如果您认为它更好,欢迎您在此处发布您的解决方案,我们将不胜感激。
推荐阅读
- reactjs - 渲染方法应该是 props 和 state 更新状态时错误的纯函数
- crystal-reports - 在水晶报表中需要帮助-“字段无法汇总”
- python - 如何使用 BERT 解决地址匹配问题?
- java - 连接 com.mysql.cj.jdbc.ConnectionImpl@ee48bb3 因 SQLSTATE(08S01)、ErrorCode(0) 标记为损坏
- node.js - 如何在 Node.js 中集成 Fortumo WebSDK?
- browser - 为什么登录后当我单击浏览器后退按钮以 Angular 10 登录页面时发送给我?
- google-maps - Google Maps GEOJSON 生成 X 数据层
- vue.js - 无法从“test/banner.test.js”中找到模块“components/layouts/default/Banner”
- docker - ANSIBLE-LINT | 在日志中拆分错误和警告
- python - 替换熊猫数据框中的列值