组织Android SDK的代码文件/ XML文件

时间:2011-10-04 19:39:21

标签: android android-layout organization code-cleanup

有人可以提供一些策略来组织我的项目以使其干净吗?说我有一堆活动;是否可以将它们全部放入一个单独的包中,同时将其他类(如自定义适配器)放在另一个包中以更好地分离“逻辑”?

另外,在为布局创建XML文件时,如果我有一些用于某些活动的布局和用于自定义“行”的其他XML布局文件(与适配器一起使用),我将如何逻辑地分离布局XML文件?我想把它们全部投入到res / layout中 - 当项目变得非常大时,它会变得非常麻烦。

2 个答案:

答案 0 :(得分:8)

  

说我有一堆活动;把它们全部放进去是不是很好   单独的包,同时放其他类(如自定义   适配器)在另一个包中更好地分离“逻辑”?

我不确定最佳做法是什么,但这是我如何组织我的应用程序:我倾向于将我的活动放在com.foo.appname.activity中,内容提供商放在com.foo.appname.content中,服务放在com.foo.appname.service中和com.foo.appname.utils中的通用实用程序。

对于仅由一个活动使用的Adapters等辅助类,我通常会将它们设为静态内部类。如果它们用于多个活动,我会在活动包中为它们提供包级别的可见性。

  

我不想把它们全部扔进res / layout

我认为res目录不允许包含子目录,所以你能做的最好就是想出一个好的命名方案。我通常在布局文件前面加上类型:activity_foo.xmlfragment_foo.xml等等。

答案 1 :(得分:2)

所有这些建议当然是您的选择。但是当我开发某些东西时,我会将逻辑层与“可见”层和类分开。我的意思是我使用不同的包

a) Activites
b) Classes or Objects
c) Interface classes
d) Database classes
e) Interaction with Database

我还为所有这些包创建了不同的包,因此您可以更好地组织它们。但这总是你的选择。

并且你的布局......我不知道你是否可以更好地组织布局。当您生成项目时,如果您看到,在您的gen文件夹中有R.java类。该类自动检测布局,drawable,raw等文件夹...但我不确定你是否可以在其中创建子文件夹。