2

我一直在 Eclipse 中开发一个 Android 应用程序,它逐渐变得复杂,以至于我发现很难在包资源管理器中找到单个类。

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

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

整个事情进展得很糟糕,我遇到了大量的导入错误、资源构建失败等等。自动重构工具也把我的 Manifest 文件弄得一团糟。只是它似乎不是按照这种方式设计的——我最终将它们全部移回,并浪费了两个小时来修复它。

所以我的问题是,Eclipse 是否有某种方法可以将 .java 文件组织到逻辑子文件夹中,而不必为它们创建新包?我想为“数据模型”创建一个文件夹,为“活动”创建一个文件夹,为“接口”创建一个文件夹,依此类推。

我该怎么做呢?还是我想错了?

4

1 回答 1

3

所以我的问题是,Eclipse 是否有某种方法可以将 .java 文件组织到逻辑子文件夹中,而不必为它们创建新包?

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

我有大量的导入错误

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

资源构建失败

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

自动重构工具也非常糟糕地弄乱了我的清单文件

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

似乎它不是为那样工作而设计的

当然,支持将活动移动到其他包中。ADT 插件是否沉着地处理它的所有方面是另一个问题。如果您想出具体的可重复场景,其中 ADT 插件没有做正确的事情,请在http://b.android.com提出问题。

于 2012-07-22T16:39:10.113 回答