【发布时间】:2019-04-03 07:43:03
【问题描述】:
我的应用中有一个组件可以在数据库更新时执行特定的工作。为了观察 Room 表,我需要使用 LiveData,这需要我通过 LifecycleOwner。我的组件与任何视图无关,所以我没有生命周期。如何在没有参考 LifecycleOwner 的情况下在 Room 表上观察?我正在使用 Kotlin 和协程。
【问题讨论】:
标签: android kotlin android-room coroutine
我的应用中有一个组件可以在数据库更新时执行特定的工作。为了观察 Room 表,我需要使用 LiveData,这需要我通过 LifecycleOwner。我的组件与任何视图无关,所以我没有生命周期。如何在没有参考 LifecycleOwner 的情况下在 Room 表上观察?我正在使用 Kotlin 和协程。
【问题讨论】:
标签: android kotlin android-room coroutine
您可以使用LiveData.observeForever(Observer)。一旦您不想再获得更新,请不要忘记致电LiveData.removeObserver(Observer),因为使用此方法您注册了一个将永远接收更新的观察者(正如方法名称所暗示的那样)。 (Docs source)
【讨论】: