Java 包结构
Android 应用程序在架构上大致是Java中的Model-View-Controller结构。 在Android 中 Fragment和Activity通常上是控制器类(http://www.informit.com/articles/article.aspx?p=2126865). 换句话说,他们是用户接口的部分,同样也是Views视图的部分。
正是因为如此,才很难严格的将fragments (或者 activities) 严格的划分成 控制器controlloers还是视图 views。 最还是将它们放在自己单独的 fragments
包中。只要你遵循之前提到的建议,Activities 则可以放在顶级目录下。 若果你规划有2到3个以上的activity,那么还是同样新建一个activities
包吧。
然而,这种架构可以看做是另一种形式的MVC, 包含要被解析API响应的JSON数据,来填充的POJO的models
包中。 和一个views
包来包含你的自定义视图、通知、导航视图,widgets等等。 适配器Adapter是在数据和视图之间。然而他们通常需要通过getView()
方法来导出一些视图, 所以你可以将adapters
包放在views
包里面。
一些控制器角色的类是应用程序级别的,同时是接近系统的。 这些类放在managers
包下面。 一些繁杂的数据处理类,比如说"DateUtils",放在utils
包下面。 与后端交互负责网络处理类,放在network
包下面。
总而言之,以最接近用户而不是最接近后端去安排他们。
com.futurice.project
├─ network
├─ models
├─ managers
├─ utils
├─ fragments
└─ views
├─ adapters
├─ actionbar
├─ widgets
└─ notifications
更多建议: