我对如何在安卓中组合两种技术感到有些困惑,它们分别是:
- ViewModel (https://developer.android.com/topic/libraries/architecture/viewmodel) 和
- Data Binding Library (https://developer.android.com/topic/libraries/data-binding)
ViewModel 应该处理业务逻辑,位于实际视图后面的层,并使用 LiveData 之类的东西向视图发送数据。视图观察这个 LiveData 并在更改时更新自己。
Data Binding Library 存在的目的是更容易地绑定到视图并在另一层面上与视图交互(例如通过更新某个类的某些属性)。
问题:
- 应该将 Data Binding Library 的属性 / 模型属性保留在 ViewModel 类内部 (A) 还是在视图(activity、fragment)内部 (B)?
- 如果 (A):如果 Data Binding Library 属性 / 模型保存在 ViewModel 类中,那么从数据绑定库更改数据执行视图逻辑是否被认为是不良实践?
- 是否有一个好的代码示例(一些 GitHub 存储库)演示了这两个概念的相当组合?
更新:找到我问题的官方文档。在此处查看链接:https://developer.android.com/topic/libraries/data-binding/architecture#viewmodel