有人可以提供一些策略来组织我的项目以使其干净吗?说我有一堆活动;是否可以将它们全部放入一个单独的包中,同时将其他类(如自定义适配器)放在另一个包中以更好地分离“逻辑”?
另外,在为布局创建XML文件时,如果我有一些用于某些活动的布局和用于自定义“行”的其他XML布局文件(与适配器一起使用),我将如何逻辑地分离布局XML文件?我想把它们全部投入到res / layout中 - 当项目变得非常大时,它会变得非常麻烦。
答案 0 :(得分:8)
说我有一堆活动;把它们全部放进去是不是很好 单独的包,同时放其他类(如自定义 适配器)在另一个包中更好地分离“逻辑”?
我不确定最佳做法是什么,但这是我如何组织我的应用程序:我倾向于将我的活动放在com.foo.appname.activity
中,内容提供商放在com.foo.appname.content
中,服务放在com.foo.appname.service
中和com.foo.appname.utils
中的通用实用程序。
对于仅由一个活动使用的Adapters
等辅助类,我通常会将它们设为静态内部类。如果它们用于多个活动,我会在活动包中为它们提供包级别的可见性。
我不想把它们全部扔进res / layout
我认为res
目录不允许包含子目录,所以你能做的最好就是想出一个好的命名方案。我通常在布局文件前面加上类型:activity_foo.xml
,fragment_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等文件夹...但我不确定你是否可以在其中创建子文件夹。