27

我正在构建我的第一个 android 应用程序,它已经变得有点乱了。我正在使用列表/详细信息模式,因为它们适合这种情况,但是因为我正在为移动设备和平板电脑进行开发,所以它有点失控了。对于每个屏幕(列表/详细信息为一个屏幕),创建四个文件。ListActivity、ListFragment、DetailActivity、DetailFragment。到目前为止有四个屏幕,实际上刚刚开始项目,我有 12 个文件,以及一个数据库表的三个帮助文件。

我要问的是,组织这个的最佳方式是什么?我正在使用 Android Studio,而且如果不将它们放在单独的包中,我似乎无法将文件分类到文件夹中。那么我是否应该执行 com.domain.app.screen1.(Fragments|Activities)、com.domain.app.screen2.(Fragments|Activities) 之类的操作?还是我只能忍受?或者有没有更好的方法来做到这一点?

如果我不清楚,请告诉我,我会尽力解决

4

2 回答 2

35

@Eric Oestrich的很好解释 :

编写中型到大型 Android 应用程序需要具有代码结构。在创建我们最新的 Android 开发项目时,我遇到了一个对我有帮助的结构。

Java 代码:

  • com.example

    • 活动

      包含所有活动。类都以 Activity 结尾。这样,在阅读没有完整包名的 Java 代码时,您可以立即知道它是什么。

    • 适配器

    包含所有适配器。

    • 验证器

    包含与登录用户相关的任何类。我创建了一个本地帐户并将所有相关类放在一起非常方便。

    • 数据

    包含与数据管理相关的所有类,例如 ContentProvider 和 SQLiteHelper。

    • 数据迁移

    包含我所有的 SQLite 迁移。

    • 碎片

    包含所有片段。

    • 帮手

    包含辅助类。辅助类是放置在多个地方使用的代码的地方。例如,我有一个 DateHelper。大多数方法都是静态的。

    • 接口

    包含所有接口。

    • 楷模

    包含所有本地模型。从 HTTP API 同步时,我使用 Jackson 将 JSON 解析为这些 Java 对象。我还将光标行也拉到这些模型中。

    • 喜好

    包含自定义首选项的所有类。创建首选项时,我需要一个自定义的 PreferenceDialog 以及一个自定义的 PreferenceCategory。他们住在这里。

    • 同步

    包含与同步相关的所有类。我使用 SyncAdapter 从 HTTP API 中提取数据。除了 SyncAdapter 之外,还需要 SyncService,所以我创建了一个包。

布局:

  • 活动布局名称以活动_开头
  • 适配器布局行名以row_ 开头
  • 片段布局名称以片段_开头
于 2016-01-30T12:51:48.567 回答
13

据我所知,没有约定,但这里有一个如何将文件放入包中的示例:

  • 主包
    • 启动器片段
    • 启动器活动
    • 我的应用程序
  • uiPackage
    • 细节片段
    • 详情活动
    • 其他平板电脑片段
  • 查看套餐
    • 自定义视图
  • 数据库包
    • 主要内容提供者
    • 主数据库助手
    • 第二内容提供者
    • 第二个DBHelper
  • 数据包
    • 自定义适配器
  • utils包
    • xmlUtils
    • 文本工具

还有许多其他人。你可以在GitHub 上搜索android项目,看看。

于 2013-08-06T20:58:42.690 回答