如何在不破坏Android的情况下将Eclipse工作区组织到文件夹

时间:2012-07-22 16:31:12

标签: java android eclipse packages

我一直在使用Eclipse中的Android应用程序,并且它逐渐增加到复杂程度,以至于我发现很难在Package explorer中找到单个类。

Java不是我的强项,我来自Visual Studio / C Sharp背景,所以我的第一个想法是将类的逻辑组移动到新的包中,有点像在Visual Studio中创建一个新的代码文件夹。 / p>

我创建了一个新的包com.mycompany.myapp.activities并将所有Activity.java文件拖到这里。

整个过程非常糟糕,我遇到了大量的导入错误,资源无法构建,等等。自动重构工具搞砸了我的Manifest文件也非常糟糕。它似乎并没有被设计成以这样的方式工作 - 我最终将它们全部移回去了,浪费了两个小时修复它。

所以我的问题是,Eclipse是否有办法将.java文件组织成逻辑子文件夹而无需为它们创建新包?我想为'数据模型'创建一个文件夹,一个用于'活动',一个用于'接口'等等。

我该怎么做呢?或者我是否以错误的方式思考这个问题?

1 个答案:

答案 0 :(得分:3)

  

所以我的问题是,Eclipse是否有办法将.java文件组织成逻辑子文件夹而无需为它们创建新包?

AFAIK,没有。您只需要修复与将代码移动到包中相关的内容。

  

我收到了大量的导入错误

您的应用R.java已生成到您的应用包(com.mycompany.myapp)中,同一个包中的所有类都会通过自动导入获得R。驻留在其他包中的代码需要导入该类(例如,import com.mycompany.myapp.R)。因此,如果您将应用程序包中的类重构为子包,则需要添加导入。

  

资源无法构建

这似乎不太可能,因为资源对Java软件包一无所知。但是,如果没有任何细节,很难为您提供具体帮助。

  

自动重构工具搞砸了我的Manifest文件

您需要调整<activity>元素,以确保它们指向新重新打包的类。同样适用于您重新打包的任何其他组件(例如,服务)。除此之外,没有任何细节,很难为您提供具体的帮助。

  

它似乎并不像是按照那种方式工作

当然,支持将活动移动到其他包中。 ADT插件是否能够自由地处理它的所有方面是另一个问题。如果你想出ADT插件做得不对的具体可重复场景,请在http://b.android.com提出问题。