2017-10-06 7 views
-1

現在、デフォルトのアンドロイドフォルダ構造を使用しています。現在、活動や見解を管理することは非常に困難になっています。私は、プロジェクトのレイアウトと活動を機能別に構造化する方法があるのだろうかと思っていました。機能に基づく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の持つ可能性このような構造ですか?もしそうなら、これを達成するためにいくつかのサンプルを設定してください。

ありがとう

答えて

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スタジオでは、新しいメニューから新しいモジュールを作成することができます。異なるモジュールに異なるXMLファイルを保存できます。 –

0

xmlリソースを持つjavaファイルを同じフォルダ内に配置することはできません。それらは異なるカテゴリに属します。あなたは、適切な命名規則を使ってxmlファイルを対応するjavaファイルに関連付けることができます。

関連する問題