我正在研究Android中的MVP架构实现。 我找到了太多的方法(提到问题的结尾)在android工作室中实现它,但是,我很困惑。
有人可以帮我找到以下问题的正确答案。
答案 0 :(得分:3)
MVP中Application的目录结构是什么?
活动应该是演示者还是视图?
如果您正在寻找一个MVP实现的好例子,那么Android本身就有一个GitHub Repo用于MVP。你应该研究一下。
哪里
答案 1 :(得分:1)
尽管MVP体系结构有很多实现,但它们都有一个基本的想法(或者至少应该是这样),这将业务逻辑与您的视图(活动,片段,对话框)分开。这是为什么?那么,主要有两个原因:
end
event for process.stdin
关于您的问题:
MVP中Application的目录结构是什么?
除了应该识别您的MVP组件之外,没有任何规则。 separation of concerns你有一篇文章,我从一个包结构开始,然后我发现其他更方便。
活动应该是演示者还是视图?
您的活动(或片段或负责显示视图组件的任何组件)应该是实现您的视图的活动。
我的建议是,您应该检查多个示例并查看每个示例的优缺点,并尝试从您感觉更舒服的那些定义您自己的架构。
答案 2 :(得分:1)
您可以使用Activity
或Fragment
进行查看图层。这是因为在android中显示UI元素需要Context
。
对于 Presenter 图层,您必须确保不要通过构造函数或setter将Context
传递给 Presenter 。如果您的演示者中需要Context
用于显示用户界面以外的其他任务,例如写入SharedPreferences
,则可以从查看获取(可以是Activity
或Fragment
)。这样,如果 View 被销毁或变为null
,Presenter中就不会出现独立的null
Context
来导致泄漏问题。
如果你想了解更多有关MVP结构的信息,我已经为android编写了一个非常方便的MVP library,并解释了它在示例应用here中的使用。
答案 3 :(得分:0)
MVP android sample example application MVP Android示例用于解释如何在我们的Android应用程序中使用此模式。