我一直在使用Eclipse中的Android应用程序,并且它逐渐增加到复杂程度,以至于我发现很难在Package explorer中找到单个类。
Java不是我的强项,我来自Visual Studio / C Sharp背景,所以我的第一个想法是将类的逻辑组移动到新的包中,有点像在Visual Studio中创建一个新的代码文件夹。 / p>
我创建了一个新的包com.mycompany.myapp.activities并将所有Activity.java文件拖到这里。
整个过程非常糟糕,我遇到了大量的导入错误,资源无法构建,等等。自动重构工具搞砸了我的Manifest文件也非常糟糕。它似乎并没有被设计成以这样的方式工作 - 我最终将它们全部移回去了,浪费了两个小时修复它。
所以我的问题是,Eclipse是否有办法将.java文件组织成逻辑子文件夹而无需为它们创建新包?我想为'数据模型'创建一个文件夹,一个用于'活动',一个用于'接口'等等。
我该怎么做呢?或者我是否以错误的方式思考这个问题?
答案 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提出问题。