2012-07-22 13 views
2

我一直在Eclipse中開發一個Android應用程序,並且它的複雜性逐漸增加,我發現很難在Package Explorer中找到各個類。我不是我的強項,我來自Visual Studio/C Sharp背景,所以我的第一個想法是將邏輯組的類移動到新的包中,有點像在Visual Studio中創建新的代碼文件夾。如何在不破壞Android的情況下將Eclipse工作區組織到文件夾中

我創建了一個新包com.mycompany.myapp.activities,並將所有Activity.java文件拖到這裏。

整件事情非常糟糕,我得到了大量的導入錯誤,資源未能建立等等。自動重構工具也弄糟了我的Manifest文件。它看起來並不像它被設計成這樣工作 - 我最終將它們全部移回,浪費了兩個小時修復它。

所以我的問題是,Eclipse有沒有辦法將.java文件組織成邏輯子文件夾,而無需爲它們創建新的包?我想爲「數據模型」創建一個文件夾,一個用於「活動」,一個用於「界面」等。

我該如何去做這件事?或者我在想這個錯誤的方式?

+0

包更像名稱空間。 – sschrass 2012-07-22 16:39:57

回答

3

所以我的問題是,Eclipse有沒有辦法將.java文件組織成邏輯子文件夾,而無需爲他們創建新的包?

AFAIK,no。你只需要修復與將代碼移動到包中相關的東西。

我噸進口錯誤的

您的應用程序的R.java生成到您的應用程序包(com.mycompany.myapp),並在同一包中的任何類通過自動導入得到R。駐留在其他包中的代碼需要導入該類(例如,import com.mycompany.myapp.R)。因此,如果您將應用程序包中的類重構爲子包,則需要添加導入。

資源未能建立

這似乎是不可能的,因爲資源一無所知Java包。但是,沒有任何細節,很難爲您提供具體的幫助。

自動重構工具搞砸了我的清單文件,傷得很厲害太

您需要調整您的<activity>要素,以確保它們指向新重新包裝類。對於您重新包裝的任何其他組件(例如,服務)也是如此。除此之外,沒有任何細節,很難爲您提供具體的援助。

它只是似乎並不像它的設計工作當然,移動活動到其他包支持這樣

。ADT插件是否可以處理它的所有方面是另一個問題。如果您想出了ADT插件沒有做正確的具體可重複場景,請在http://b.android.com處提出問題。

+0

感謝您的信息;對於Java新手來說,這是非常有用的。我關於資源建設的觀點很重要,編寫'無法引用的資源'可能會更準確。我會利用重構工具關注這個問題,因爲肯定會讓事情變得非常糟糕;它用垃圾和格式不正確的XML覆蓋了我清單的幾行內容。 我想知道其他人是否知道其他任何方式來在Eclipse中直觀地組織代碼,而不將它們分離出包。 – 2012-07-22 16:48:45

+1

@CarlosP:「它覆蓋了我的清單中有幾行垃圾和格式不正確的XML」 - 如果您使用的是R20工具,請確保您更新到R20.0.1修補程序版本。有錯誤與錯誤的清單XML相關,儘管我只在嘗試將數據粘貼到結構化清單編輯器選項卡中的字段時遇到它們。 – CommonsWare 2012-07-22 17:29:57

+0

@CommonsWare - 主題略有些許,但我非常感謝20.0.1補丁的URL,TIA – NickT 2012-07-22 17:43:35

相關問題