我在Android应用程序上使用MVVM,在ViewModel上,我有很多观察者(来自数据绑定),例如ObservableBoolean
,ObservableField
,我读到我可以使用LiveData/MutableLiveData
代替该观察者。 .. 有什么不同?我可以用LiveData/MutableLiveData
替换所有的数据绑定观察者吗?
例如:
替换:
val loading: ObservableBoolean = ObservableBoolean()
通过:
val loading: MutableLiveData<Boolean> = MutableLiveData()
答案 0 :(得分:1)
很多次过去了,我学到了很多东西... 用LiveData替换所有可观察到的数据绑定,因为LiveData遵守Activity生命周期,并且可以在JetPack库中使用,例如Room,Coroutine ...
答案 1 :(得分:0)
取决于您从何处读取数据。
在我们当前的项目中,我们直接从RoomDB阅读。 RoomDB能够发送回liveData对象。
如果您在获取
后进行了任何修改,通常会使用可变数据