Android官方DEMO

todo-mvp

2018-12-19  本文已影响0人  红酥手黄藤酒丶

todo-mvp

当前版本的app叫做 todo-mvp,为该 github 项目中的其他示例提供了一个基础。样本旨在:

提示: 这个 github 项目中所有的分支均使用下面的命名约定,来区分 View类 和 MVP 中的 视图层

你需要做什么

在开始学习这个示例之前,先熟悉下面的条目可能会对你有些帮助:

这个 todo-mvp 示例使用下面的依赖:

设计应用程序

所有的 Android App都会包含与 simple to-do 同样的常用功能,这个 app 由下面四个 UI 组成:

在此版本的应用程序,以及基于它的其他版本中,每个 UI 都使用以下的类和接口实现:

presenter 通常托管于特定功能相关联的业务逻辑,而与其绑定的 view 去掌控 Android UI 的工作。view 几乎不含有逻辑过程,它根据 presenter 的命令操作 UI,监听用户的行为动作然后把这些行为动作传递给 presenter。

实现应用程序

每个版本的应用程序都使用不同的实现方式来实现相同的功能,以此来展示不同的架构之间的区别。例如,此版本使用以下方法来解决常见的实现问题:

注意下图,此版本的应用程序使用 fragment,这有两个原因:

image

此版本的app包含了一些涉及到 presenters、repositories、和 data source 的单元测试。此例也包含 UI 测试(依靠假数据),并通过依赖注入来提供虚假模块。了解更多使用依赖注入的快速测试,查看 Leveraging product flavors in Android Studio for hermetic testing

关于程序的维护

此例中包含了 类 和 接口,如 presenters 和 contracts,这就使得代码量相较于传统的(不使用架构的)项目有了一定的增长。

下表总结了用于实现此版本应用程序的代码量。您可以将其用作与此项目中每个其他样本提供的类似表进行比较的基础。

Language Number of files Blank lines Comment lines Lines of code
Java 51 1216 1685 3901
XML 34 97 338 608
Total 85 1313 2023 4509
上一篇 下一篇

猜你喜欢

热点阅读