Google官方MVP示例之TODO-MVP
欢迎转载,转载请注明源地址:http://blog.csdn.net/lavor_zl/article/details/51180537,谢谢
TODO-MVP介绍(翻译自官方文档)
摘要
这个示例是众多的变体示例的基础。它展示了一个没有使用架构框架的MVP模型的简单实现。它使用人工依赖注入为仓库提供本地和远程数据源。异步任务用回调处理。
注意:在一个MVP环境中,”View”项被重载。
- android.view.View这个类会被称为”Android View”
- 在MVP中从presenter接受命令的视图被简单的称为”view”
Fragments
这个示例使用Fragments有两个原因:
- Activity和Fragment的分离非常符合这个实现的MVP:Activity是全体的控制器,它创建并连接views和presenters
- 平板电脑布局或显示多个视图的屏幕利用Fragments框架
关键概念
这个程序有4个属性
Tasks
TaskDetail
AddEditTask
Statistics
每个属性有:
- view和presenter定义一个合同
- Activity负责创建fragments和presenters
- Fragment实现view接口
- presenter实现presenter接口
一般来说,业务逻辑在presenter中,并且依赖view去做Android UI的工作。
view几乎不包含业务逻辑,它将presenter的命令转换为UI动作,并且监听用户动作传递给presenter。
合同接口用于定义views和presenters之间的联系。
TODO-MVP分析讲解
工程目录概观
我们发现在主包下面有6个子包和两个接口
- addedittask&