组织大型Android项目的技巧?

组织大型Android项目的技巧?,android,code-organization,Android,Code Organization,我目前的项目越来越大。我有几十个活动、适配器、片段、布局XML和其他资源 在我以前的(较小的)项目中,我用1个包/1个类别的方式组织了一些东西。所以我有com.stuff.xy.adapter、com.stuff.xy.activity等等。现在,这些包包含太多的项,我发现自己在包层次结构中搜索特定类时浪费了大量时间 我使用Eclipse,有一些快捷方式可以使用(例如,转到类定义),但这些方式往往是情景式的(我不能使用它快速跳转到xml的布局定义) 你能分享一些有效组织大型项目的技巧吗?或者一些

我目前的项目越来越大。我有几十个活动、适配器、片段、布局XML和其他资源

在我以前的(较小的)项目中,我用1个包/1个类别的方式组织了一些东西。所以我有com.stuff.xy.adapter、com.stuff.xy.activity等等。现在,这些包包含太多的项,我发现自己在包层次结构中搜索特定类时浪费了大量时间

我使用Eclipse,有一些快捷方式可以使用(例如,转到类定义),但这些方式往往是情景式的(我不能使用它快速跳转到xml的布局定义)

你能分享一些有效组织大型项目的技巧吗?或者一些插件?(例如,如果我可以将处理特定应用程序屏幕的源文件(适配器、布局、活动和片段代码)组合在一起,以便快速打开它们,这可能会有所帮助)

编辑:在开发大型项目数月后

首先,我尝试使用Eclipse的工作集。我的问题是,我们的单个Android项目太大了,包含很多资源、类、接口等。在单个项目的上下文中处理工作集花费了太多时间,我认为它们主要用于在单个工作区中组织项目


从长远来看,我们将庞大的单个项目分为许多较小的android库项目和依赖于所有这些较小项目的单个“主应用程序”项目。通过这种方式,我们可以在这些库项目(有许多布局、值、样式只在应用程序的某些部分中使用)和代码之间分割资源。我还创建了一个所有其他库都依赖的基本库,并包含应用程序每个部分都需要的资源和(基本)类。

可能是一个提示:快速转到Eclipse中的声明

按住Ctrl键,同时将鼠标悬停在类或方法上。1秒后,您将看到一个带有打开声明/打开实现的弹出窗口

在大型项目中非常有用

对于其余的部分,我建议您只需将其直观化,并将所有活动以及所有计算排序在一个包中,例如,另一个提示


使用Ctrl-Shift-R快速打开一个资源(您会看到一个自动完成下拉列表),使用Ctrl-Shift-T快速打开一个java类。该列表还将使用最近打开的文件自动填充。

对于我的所有android项目,我更喜欢按以下结构对代码进行排序:

com.company.projectname
是应用程序包。 基础软件包:

模型
-我的所有业务对象

逻辑
-实现业务逻辑的服务和对象

屏幕
-项目的所有活动。如果活动需要适配器等等,那么每个活动都被放在screens package下的一个单独的包中,相关的内容被放在同一个项目中

工具
-带有实用程序类的包。设置Sutil等

在包的根目录中,我通常有Constants.java接口和常量。

在Eclipse中,您可以使用在Project Explorer视图中过滤源/布局/资源文件。这比包更强大,因为它操作所有文件,包括布局和图像资产,而不仅仅是java源文件


例如,您可以创建一个包含HomeActivity.java、HomeAdapter.java、res/layout/Home.xml、res/drawable/Home\u icon.png等内容的家庭工作集。

对于您关心的问题“我无法使用它快速跳转到xml上的布局定义”,您可以单击布局xml的名称,然后ctrl+shift+R将引导您进入该定义页面

不要对每个屏幕的源进行分组。你会遇到这样的问题,你不能组织你多次使用的类,你可能会停止重用代码。我认为一个大型项目的最大成本是增加编译和打包时间。如果每次我们必须等待半分钟或更长的时间,然后看到我们的设备出现在应用程序的第一个窗口中,那么开发起来就很无聊了。那么对于您的编辑方法来说,它是否显著提高了编译时间?是的,这一方法确实很有帮助!我认为我只能将整个项目与工作集组合在一起。但是将项目中的资源组合在一起会更好!跳转到声明的另一种有用方法:将光标移动到类或方法名称中的某个位置,然后按F3键。我会一直使用它们,当您有太多的包时,这非常有用;)非常感谢你@弗拉基米尔,拜托你能帮我吗??