2017-10-06 85 views
-1

我目前使用的是默認的android文件夾結構。現在變得很難管理活動和意見。我想知道是否有辦法通過功能來構建我的項目佈局和活動。基於功能的Android項目結構

例如:

以下是我目前的項目結構。

Java 
    -Activity 
    OrderListActivity.java 
    ProductListAcitvity.java 
Res 
    -Layout 
    OrderListView.xml 
    ProductView.xml 

我試圖找到一種方法,視圖和活動組合成像一個相同的文件夾:

Java 
    -Features 
    -OrderList 
     OrderListActivity.java 
     OrderListView.xml 
    -Products 
     ProductListActivity.java 
     ProductView.xml 

是這種結構有可能的gradle?如果可以的話,請提供一些樣本gradle設置來實現這一點。

謝謝

回答

1

您不能將佈局文件的java源文件放在同一目錄中。但是,您可以通過功能組織每個佈局,在應用程序中使用輕微黑客技巧build.gradle

首先,爲res目錄中的佈局創建一個根目錄。名稱應爲layouts

res/layouts 

然後,您可以創建基於功能佈局的目錄。我們使用OrderListProducts。每個目錄都需要一個佈局目錄。現在在layouts這樣創建的目錄:

res/layouts/orderlist/layout 
res/layouts/products/layout 

然後,將下面的代碼添加到您應用的build.gradle:

android { 

    ... 

     sourceSets { 
     main { 
      res.srcDirs = ['src/main/res', 
         'src/main/res/layouts', 
         'src/main/res/layouts/orderlist', 
         'src/main/res/layouts/products', 
     } 
     } 

    ... 

} 

更改您的項目到項目視圖這樣的:

enter image description here

同步您的項目以更新build.gradle。現在,你可以添加你的佈局orderlistproducts

0

總之,不可能。

如果您的應用程序包含大量文件,您可以將它們分爲不同的模塊。

+0

好吧,我可以分開模塊中的java類。什麼佈局文件?我不想要1個文件夾中的所有xml文件。 – John

+0

我不是在談論軟件包。我正在談論模塊。在Android Studio中,您可以從新菜單創建新模塊。您可以將不同的xml文件保存在不同的模塊中。 –

0

你不能在同一個文件夾內有xml資源的java文件。它們屬於不同的類別。你可以做的是通過使用適當的命名約定將xml文件與它們相應的java文件關聯起來。