![](/img/trans.png)
[英]How to properly use Dagger2 with the new Android Architecture Components
[英]How to efficiently use android-architecture-components?
最近在学习使用android架构组件。 我有一个关于ViewModel
的问题:
根据架构设计指南,我们可以理解数据是整个应用程序的核心。 ViewModel 用于管理数据,存储库用于从网络或数据库中获取数据。
如果你有一个只处理用户交互逻辑的 UI,但几乎不可能从网络或数据库中获取数据,那么交互逻辑代码应该在ViewModel
或Activity
/ Fragment
。
在另一个界面中,既有逻辑交互也有数据获取,交互逻辑代码应该放到ViewModel还是activity/fragment中?
我认为您指的是 Android 中流行的MVP
模式。 在过去,通常会看到巨大的Activity
类处理属于该Activity
所有逻辑。
如果您确实指的是MVP
,那么您可能喜欢采用可以与activity
分离的方法来执行称为presenter
的逻辑的想法,而让activity
负责渲染。 如果您想更进一步,您还可以创建一个类,其行为类似于网络/数据库interactor
并且仅使用它来获取数据,从并且仅从presenter
调用。
模型只是 POJO。
它是这样的:
hey, a button was pressed, what should I do?
activity, render that error dialog
您不必使用库来完成此操作,但如果与流行框架 Dagger 等dependency injection
库结合使用,您会发现它会更有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.