2011-04-11 43 views
23

我目前的项目变得非常庞大。我有几十个活动,适配器,碎片,布局xmls和其他资源。关于组织大型Android项目的提示?

在我的(较小的)以前的项目中,我组织了1包/ 1类别样式的东西。所以我有com.stuff.xy.adapter,com.stuff.xy.activity等等。现在这些包包含太多的项目,我发现自己在包层次结构中搜索特定的类时会浪费大量时间。我使用Eclipse,并且可以使用一些捷径(去类定义,例如),但这些往往是情境(我不能用它来快速跳转到布局定义xml)。

您能否分享一些有效组织大型项目的技巧?或者一些插件可能吗? ( - 适配器,布局,活动和片段代码 - 它可能如果我能集团一起,与特定应用程序的屏幕处理的源文件有助于例如这样我就可以快速打开它们)

编辑:多月开发大型后项目

首先,我尝试使用Eclipse的工作集。它并没有真正为我削减,我的问题是我们的单个Android项目太庞大,包含许多资源,类,接口等。在单个项目环境中混淆工作集只需花费太多时间,我认为它们主要用于在单个工作区中组织项目。

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

+0

请勿将每个屏幕的来源分组。你会遇到问题,你不能组织你多次使用的类,你可能会停下来重新使用代码 – WarrenFaith 2011-04-11 15:21:14

+0

我认为大型项目的最大代价是增加编译和打包时间。如果每次我们必须等待半分钟或更长时间,那么看到我们的设备出现在我们应用程序的第一个窗口,这对开发来说是无聊的。那么对于你的编辑方法,它是否大大提高了编译时间? – VinceStyling 2015-05-26 03:57:21

回答

11

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

例如,你可以创建一个家庭工作组包含HomeActivity.java,HomeAdapter.java,RES /布局/ home.xml,RES /绘制/ home_icon.png等

+0

是的,这个肯定有帮助!我希望我只能将整个项目与工作集合在一起。但是将项目资源分组在一起会更好! – 2011-04-11 15:44:20

+0

非常好:-)良好的加法 – 2011-04-11 16:42:30

+0

尝试它,好一个! – 2013-08-27 14:07:12

5

也许提示:快速去申报在Eclipse

按住Ctrl键徘徊类或方法。 1秒后,您将获得一个弹出窗口,其中包含开放声明/开放实施。

在大型项目中非常有用。

对于其他我建议只是使其直观并对包中的所有活动以及所有计算

+1

跳转到声明的另一种有用方法:将光标移动到类或方法名称的某处,然后按** F3 ** – derekerdmann 2011-08-10 14:10:05

7

只是另一个提示。

使用按Ctrl-Shift-R键迅速打开资源(你会得到一个自动完成下拉)和按Ctrl-Shift-T键快速打开一个Java类。该列表还将使用最近打开的文件自动填充。

+0

我一直使用它们,当包装太多时verrrry会有帮助;) – 2013-04-26 15:39:23

18

对于所有我的Android项目中,我更喜欢在下面的结构来区分代码:

com.company.projectname是应用程序的软件包。 标的包:

model - 我所有的业务对象

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

screens - 该项目的所有活动。如果活动需要适配器等,那么每个活动都放置在屏幕包下的单独包中,并将相关的东西放置到同一个项目中。

tools - 包含Utility类。 SettingsUtil等。

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

+0

非常感谢您! @Vladimir请你认为你可以帮我在这里http://goo.gl/MAjgTh ?? – eddy 2014-09-20 04:23:49

2

的关心“我无法使用它快速跳转到布局定义xml“,您可以单击布局xml的名称,然后按Ctrl + Shift + R将引导您进入该定义页面。