2017-10-06 1 views
-1

J'utilise actuellement la structure de dossiers android par défaut. Il devient maintenant très difficile de gérer les activités et les points de vue. Je me demandais s'il y avait moyen de structurer mes projets et activités par caractéristiques.Structure de projet Android basée sur les fonctionnalités

Par exemple:

Suite est ma structure actuelle du projet.

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

Je suis en train de trouver un moyen de combiner la vue et activités dans un même dossier comme:

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

Cette structure est possible avec gradle? Si oui, pourriez-vous s'il vous plaît fournir quelques paramètres de gradation d'échantillons pour y parvenir.

Remerciements

Répondre

1

Vous ne pouvez pas placer un fichier source java avec un fichier de mise en page dans le même répertoire. Mais vous pouvez organiser chaque mise en page par des fonctionnalités avec un léger hack dans votre application build.gradle.

Commencez par créer un répertoire racine pour les mises en page dans le répertoire res. Le nom doit être layouts:

res/layouts 

Ensuite, vous pouvez créer un répertoire pour la mise en page en fonction des caractéristiques. Nous utilisons OrderList et Products. Chaque répertoire a besoin d'un répertoire de mise en page à l'intérieur d'eux. Maintenant, créez les répertoires dans le layouts comme ceci:

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

Ensuite, ajoutez le code suivant à votre application build.gradle:

android { 

    ... 

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

    ... 

} 

Changer votre projet à vue comme celui-ci:

enter image description here

Synchronisez votre projet pour mettre à jour le build.gradle. Maintenant, vous pouvez ajouter votre disposition à l'intérieur du orderlist et products

0

En résumé, impossible.

Si votre application contient une grande quantité de fichiers, vous pouvez les séparer en différents modules.

+0

ok je peux séparer les classes java dans les modules. Qu'en est-il des fichiers de disposition? Je ne veux pas tous les fichiers xml dans un dossier. – John

+0

Je ne parle pas de paquets. Je parle de module. Dans Android Studio, vous pouvez créer un nouveau module à partir du nouveau menu. Vous pouvez conserver différents fichiers XML dans différents modules. –

0

Vous ne pouvez pas avoir de fichiers java avec des ressources xml dans le même dossier. Ils appartiennent à différentes catégories. Ce que vous pouvez faire est d'associer les fichiers xml avec leurs fichiers java correspondants en utilisant des conventions de nommage appropriées.