我正在使用最新的房间持久性库编写应用程序。该应用程序简单地显示项目列表并随着数据更改更新此列表。
当新项目插入表或更新时,我希望列表自动更新。
我试过香草LiveData
,Flowable
到目前为止。两者都声称支持此功能,如文档和此博客中所述:
https ://medium.com/google-developers/room-rxjava-acb0cd4f3757
这是ViewModel
Kotlin 中的代码片段:
messagesFlowable = db.messagesDao().all()
messagesFlowable
.observeOn(AndroidSchedulers.mainThread())
.subscribe {
Log.d(TAG, "Received 1 list of %s items", it.size)
messages.value = it
}
在其他地方,数据库被修改如下:
mDb.messagesDao().add(Message("Some data"))
更新不会推送给观察者。我想我错过了一些东西,但是什么?
更新:此问题已解决,答案如下。