我正在构建我的第一个 android 应用程序,但它已经有点乱了。我正在使用列表/详细信息模式,因为它们适合这种情况,但是因为我正在为移动设备和平板电脑进行开发,所以它有点失控了。对于每个屏幕(列表/详细信息为一个屏幕),创建四个文件。 ListActivity、ListFragment、DetailActivity、DetailFragment。到目前为止有四个屏幕,实际上刚刚开始项目,我有 12 个文件,以及一个数据库表的三个帮助文件。
我要问的是,最好的组织方式是什么?我正在使用 Android Studio,而且如果不将它们放在单独的包中,我似乎无法将文件分类到文件夹中。那么我是否应该执行 com.domain.app.screen1.(Fragments|Activities)、com.domain.app.screen2.(Fragments|Activities) 之类的操作?还是我只能忍受?或者有更好的方法吗?
如果我不清楚,请告诉我,我会尽力解决
最佳答案
@Eric Oestrich 的良好解释:
编写中型到大型 Android 应用程序需要具有代码结构。在创建我们最新的 Android 开发项目时,我遇到了一个对我有帮助的结构。
Java 代码:
com.example
Activity
包含所有 Activity 。类都以 Activity 结尾。这样,您可以在阅读 Java 代码时立即知道它是什么 没有完整的包名。
适配器
包含所有适配器。
- 身份验证器
包含与登录用户相关的任何类。我创建了一个本地帐户并将所有相关类放在一起非常方便。
- 数据
包含与数据管理相关的所有类,例如 ContentProvider 和 SQLiteHelper。
- data.migrations
包含我所有的 SQLite 迁移。
- fragment
包含所有 fragment 。
- helper
包含辅助类。辅助类是放置在多个地方使用的代码的地方。例如,我有一个 DateHelper。大多数方法都是静态的。
- 接口(interface)
包含所有接口(interface)。
- 模型
包含所有本地模型。从 HTTP API 同步时,我使用 Jackson 将 JSON 解析为这些 Java 对象。我还将光标行也拉入这些模型中。
- 偏好
包含自定义首选项的所有类。创建首选项时,我需要一个自定义的 PreferenceDialog 以及一个自定义的 PreferenceCategory。他们住在这里。
- 同步
包含与同步相关的所有类。我使用 SyncAdapter 从 HTTP API 中提取数据。除了 SyncAdapter 之外,还需要 SyncService,所以我创建了一个包。
布局:
- Activity 布局名称以 activity_ 开头
- 适配器布局行名称以 row_ 开头
- fragment 布局名称以 fragment_ 开头
关于安卓项目 : How best to organize the files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18071293/