【问题标题】:Organizing code files/XML files for Android SDK为 Android SDK 组织代码文件/XML 文件
【发布时间】:2011-10-04 19:39:20
【问题描述】:
有人可以提供一些策略来组织我的项目以使其干净吗?假设我有一堆活动;将它们全部放在一个单独的包中,而将其他类(例如自定义适配器)放在另一个包中以更好地分离“逻辑”是否很好?
另外,在为布局创建 XML 文件时,如果我有一些用于某些活动的布局和用于自定义“行”(与适配器一起使用)的其他 XML 布局文件,我将如何在逻辑上分离布局 XML 文件'不想只是把它们都扔到 res/layout 中——当项目变得非常大时,这将成为一个巨大的麻烦。
【问题讨论】:
标签:
android
android-layout
organization
code-cleanup
【解决方案1】:
假设我有一堆活动;把它们都放在一个
单独的包,同时放其他类(如自定义
适配器)在另一个包中更好地分离“逻辑”?
我不确定最佳实践是什么,但我是这样组织我的应用程序的:我倾向于将我的活动放在 com.foo.appname.activity 中,将内容提供者放在 com.foo.appname.content 中,将服务放在 com.foo.appname.service 中,并将通用实用程序放在 @ 987654324@.
对于像Adapters 这样仅由一个活动使用的辅助类,我通常将它们设为静态内部类。如果它们在多个活动中使用,我会在活动包中为它们提供包级别的可见性。
我不想把它们都扔到 res/layout 中
我不认为res 目录允许有子目录,所以你能做的最好的就是想出一个好的命名方案。我通常在布局文件前加上以下类型:activity_foo.xml、fragment_foo.xml 等。
【解决方案2】:
所有这些建议,当然是你的选择。但是当我开发某些东西时,我习惯于将逻辑层与“可见”层和类分开。我的意思是我为
使用不同的包
a) Activites
b) Classes or Objects
c) Interface classes
d) Database classes
e) Interaction with Database
我还为它们创建了不同的包,因此您可以更好地组织它们。但这始终是您的选择。
还有你的布局......我不知道你是否可以更好地组织布局。当您生成项目时,如果您看到,在您的 gen 文件夹中有 R.java 类。该类自动检测布局、可绘制、原始等文件夹...但我不确定您是否可以在其中创建子文件夹。