gpt4 book ai didi

java - Android ViewModel 到模型事件

转载 作者:行者123 更新时间:2023-12-03 10:25:17 26 4
gpt4 key购买 nike

我正在使用 MVVM 架构使用 Google 的架构组件(ViewModel、LiveData)构建一个新的 Android 应用程序。

我很确定我已经有大部分流量了。我了解 View 如何使用 LiveData 来观察 ViewModel 的更改,以及 ViewModel 如何类似地观察 Model(在我的情况下是单例存储库)的更改。

当我试图将我的大部分业务逻辑保留在模型层中时,我希望 View 将事件“报告”到模型层,我的业务逻辑可以决定是否/如何处理事件。目前,我的业务逻辑可以更新存储库中的值,这会将值更改向下传播到 View ,但这只是单向的。

如何通知 View 事件模型?

最佳答案

View 不能直接向模型报告。这违背了干净的架构和 MVVM。

ViewModel 充当 View 和 Model 之间的联络人。 ViewModel 可能会从 View 中获取输入并将其放置在模型上,或者它可能与服务交互以检索模型,然后转换属性并且 View 将通过绑定(bind)或观察者收到更改的数据的通知。

如果您现在使用 kotlin(和 gradle 2.0 或更高版本),您可以 use listener bindings用于事件处理,这使您可以在通过 lambda 表达式触发事件时直接从 ViewModel 执行方法。然后是 ViewModel,它应该是在模型上执行工作的那个。当模型更新时,ViewModel 会收到观察者的通知,并且 View 也会通过绑定(bind)反射(reflect)更改。

关于java - Android ViewModel 到模型事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60958290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com