目前我在主应用程序包中有13个类的Android Studio项目。我决定是时候将类分组在单独的文件夹(java包?)中,比如活动,片段,模型,实用程序等。如何正确地遵循某种约定(如果有的话),特别是对于Android工作室项目?
当我想为班组创建新文件夹时,我应该在这里选择什么? "封装&#34 ;?创建后如何命名(遵循约定)?
答案 0 :(得分:1)
不知道是否有一些“官方”惯例。
我目前使用的包装结构:
单个应用程序类的“root”(通常等于appId)包。
如果应用程序包含一个活动,一个服务,那么它们也可以放在这里。
然后,“root”。 component_name
包,如果你的应用程序包含许多分离的重组件(通常不包含),它们拥有自己的活动,模型等。< / p>
“root”包或每个组件的包包含:
activity
用于活动和片段app
。此外,有时候,我创建了app
包,它可以包含活动,片段,服务和其他Android应用程序组件的基类。view
用于视图和适配器model
包含业务逻辑。包含接口,实体,DTO。 model.impl
:我不时使用它。它包含模型实现(包可见性)helper
或util
。
helper
包含特定于域的内容。作为旁注:通常我会尝试通过将辅助逻辑封装到域数据类型中来避免使用它们。util
通常会转到“root”包。
app
。 上次我开始使用async
或model.async
个包来描述异步计算,后台作业等等。
我对这种结构并不总是满意。所以, 我期待如何将类分组到android api中。 我也喜欢发现我最喜欢的库和框架的结构。
示例:强>
org.android.exampleapp.app
BaseActivity.class // provide access to MyService
BaseFragment.class
org.android.exampleapp.activity
LaunherActivity.class // extend BaseActivity and BaseFragment
MainActivity.class
MyDetailsFragment.class
MyListFragment.class
org.android.exampleapp.model
SuperItem.class
MyService.class
org.android.exampleapp.model.impl
MyServiceOfflineImpl.class
MyServiceOnlineImpl.class
org.android.exampleapp.async
GetSuperItemsTask.class