gpt4 book ai didi

Android MVVM Livedata 最佳实践

转载 作者:行者123 更新时间:2023-12-05 00:21:04 31 4
gpt4 key购买 nike

我正在体验来自谷歌的新架构组件,即 LiveData 和 ViewModel。通过结合这两个 API,我们可以让 View 模型以 react 的方式监听和更新数据。

我的问题是如何更具体地在 ViewModel 中表示数据,将数据分解为单独的字段之间哪种方式更好,如下所示

class UserViewMode : ViewModel() {
var name = MutableLiveData<String>
vat lastName = MutableLiveData<String>
}

或者通过将数据封装在包含姓名和姓氏的数据持有者/模型类中,并让 View 模型在 LiveData 观察者中观察此模型类,如下所示
class UserViewMode : ViewModel() {
var user = MutableLiveData<User>
}

提前致谢。

最佳答案

第二种方法更好。

class UserViewModel : ViewModel() {
var user = MutableLiveData<User>
}

因为将数据封装在模型(用户)对象中比将所有数据分开要好。
我能看到的主要优点是
1. 干净的代码和架构。
2. 模型对象可以在 GSON(将数据解析为模型对象)、Room 数据库等其他组件之间使用/传递。

如果有多个 User 对象并且它们需要在 RecyclerView 中呈现,那么您必须将数据封装到一个对象中。否则,代码会与多个列表混为一谈。

关于Android MVVM Livedata 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53457923/

31 4 0