androd-architecture(架构)

2017-04-25  本文已影响16人  mimimomo

项目地址 googlesamples/android-architecture

todo-MVP

该版本的应用程序称为todo-mvp,并为此项目中的其他示例提供了基础。该样本旨在:

** 注意 **:该项目在所有存储库分支中使用以下命名约定,以区分View类和MVP视图:

你需要知道的

在浏览此示例之前,您可能会发现熟悉以下主题很有用:

todo-mvp示例使用以下依赖关系:

设计应用

所有版本的Android蓝图应用程序都包含与简单易用型应用程序相同的常见功能。该应用程序由四个UI screen 组成:

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

演示者通常承载与特定功能相关联的业务逻辑,相应的视图处理Android UI工作。这个观点几乎没有任何逻辑;它将演示者的命令转换为UI动作,并监听用户操作,然后传递给演示者。

实现应用程序

每个版本的应用程序使用不同的方法实现相同的功能来展示和对比各种架构设计。例如,该版本采用以下方法来解决常见的实现问题:

另请注意,这个版本的应用程序使用片段,这有两个原因:

该版本的应用程序包括一些包含演示者,存储库和数据源的单元测试。该示例还包括依赖于假数据的UI测试,并通过依赖注入来提供假模块。有关使用依赖注入来进行有关测试的更多信息,请参阅Leveraging product flavors in Android Studio for hermetic testing

维护应用程序

该示例包括与不使用特定架构的更传统项目相比较的类和接口(如演示者和合同),可增加代码行数。

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

Language Number of files Blank lines Comment lines Lines of code
Java 46 1075 1451 3451
XML 34 97 337 601
Total 80 1172 1788 4052
上一篇 下一篇

猜你喜欢

热点阅读