android - 观察没有 LifecycleOwner 参考的 Room 表
问题描述
我的应用程序中有一个组件可以在数据库更新时执行特定的工作。为了观察 Room 表,我需要使用 LiveData,这需要我通过 LifecycleOwner。我的组件与任何视图无关,所以我没有生命周期。如何在没有参考 LifecycleOwner 的情况下在 Room 表上观察?我正在使用 Kotlin 和协程。
解决方案
您可以使用LiveData.observeForever(Observer)
. 不要忘记在LiveData.removeObserver(Observer)
您不想再获取更新时调用,因为使用此方法您注册了一个将永远接收更新的观察者(正如该方法的名称所暗示的那样)。(文档来源)
推荐阅读
- mysql - 将持续时间添加到日期后,Django MySQL过滤日期记录
- r - 长到宽格式 R
- ios - 为什么不调用 searchBarTextDidEndEditing?
- angular - 等待服务 API 调用在 Angular 8 中完成
- java - 使用 Java API 的 JENA TDB 加载进度
- javascript - 为什么当标头指示浏览器设置 cookie 时,浏览器无法设置?
- python - 根据数据框的其他列创建一个新的熊猫数据框列
- python - 查找 2d 列表按值重叠的位置
- node.js - 如何使用 NodeJS 中的 azure-devops-node-api 库将文件推送到 TFS?
- mybatis - MyBatis:如何仅针对一个特定语句将下划线结果映射到驼峰式?