安卓项目 : How best to organize the files

标签 android code-organization

我正在构建我的第一个 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/

相关文章:

javascript - 增加页面加载时间

c# - 'using' 指令应该在命名空间内部还是外部?

android - 如何在布局中滑动(推) subview ?

java - Android MediaCodec,解码后的数据可以是原始大小的两倍吗?

android - 如何使编辑字段android的固定大小

javascript - 不显眼的 Javascript,我应该使用它吗?管理和组织事件的最佳方式是什么?如何防止效率低下?

php - 如何组织您的 Controller 以获得最佳结构 (MVC)

Android 更新后损坏的快捷方式

android - 在构建我的应用程序时,我应该使用支持库中的首选项类还是我当前的 API?

java - 可以将我的公共(public)接口(interface)放入他们自己的包中