NavigationDrawer avec activités vs. NavigationDrawer avec des fragments

Prenez par exemple l'application sur laquelle je travaille actuellement: – il dispose d'une navigationDrawer avec plusieurs éléments; Il y a deux éléments qui m'intéressent pour l'instant, je les appellerai X et Y.

L'approche par fragment fonctionne, mais il m'a fallu un certain temps pour gérer la navigation entre les fragments. De plus, je vais probablement ajouter quelques éléments nouveaux dans le tiroir similaire à X et Y. Mon activité principale, dans laquelle j'ai le tiroir et moi-même, change assez tôt, ce qui m'amène à ma question: devrait Je passe des fragments aux activités? Je pensais au démarrage d'une nouvelle activité lorsqu'un élément de tiroir était sélectionné et à gérer la liste / Afficher / modifier les fragments liés à l'élément sélectionné dans cette activité plutôt que de traiter tous les fragments pour tous les éléments dans une seule activité.

Est-ce que c'est une bonne idée? Est-ce mauvais design?

  • Liste des tiroirs de navigation Afficher les problèmes de sélection sur Android 2.3
  • Tirage de navigation de style de conception de matériel Android 5.0 pour KitKat
  • Menu de menu de navigation éléments sélectionnés dans différents groupes
  • Tirage de navigation sous la barre d'action
  • Problèmes liés à l'utilisation du nouveau composant de la barre d'outils, cache et affichage de l'icône du tiroir de navigation, icône Home Up cliquez sur événement à partir de fragments
  • Android: Capable de cliquer à travers le tiroir du nav? AppCompat v7: r21
  • Les fragments de ViewPager disparaissent
  • Comment cacher OptionsMenu sur NavigationDrawer en utilisant Fragments?
  • 3 Solutions collect form web for “NavigationDrawer avec activités vs. NavigationDrawer avec des fragments”

    J'étais dans un bateau similaire et j'ai utilisé la méthode des activités, de cette façon, j'ai chaque activité avec un groupe de fragments pour un clic de navigation particulier sur le NavigationView. Évidemment, j'utilise NavigationView, mais gérer tous ces fragments avec une seule MainActivity est vraiment une tâche douloureuse.

    Je préfère que EachActivity gère ses propres fragments quand on clique sur un élément de nav. Cela me donne une meilleure performance, car je n'ai pas besoin de me soucier du cycle de vie de nombreux fragments et c'est BackStack et ajouter / supprimer / montrer / cacher l'enfer.

    J'ai utilisé la Question SO suivante pour utiliser intelligemment une BaseActivity implémentant NavigationDrawer et la partager avec toutes les autres Activités. La vraie magie n'est pas dupliquer le code, ou ce n'est pas simplement une ancienne technique d'héritage.

    Voici le lien, vérifiez-le

    J'ai utilisé cette méthode dans deux de mes projets et ça fonctionne très bien, plus je n'ai pas à gérer la gestion des fragments dès le début.

    J'ai les points suivants à soumettre:

    1. L'approche par fragment est beaucoup mieux. Vous devez utiliser des fragments pour une meilleure expérience de l' interface utilisateur pour l'utilisateur.

    2. Pensez comme ceci, imaginez votre écran en tant que panier d'information et si vous avez un autre panier (i, e un autre écran) avec lequel beaucoup de données devront être transférées en va-et-vient, alors, d'après moi, c'est beaucoup mieux Utiliser des fragments pour les deux paniers avec une activité de conteneur. Et bien sûr, il peut y avoir plus de deux paniers / écrans.

    3. Il n'y a pas de règle difficile et rapide que vous ne devriez utiliser que des fragments d'utilisation ou des activités, mais Google dit qu'il est préférable d' utiliser des fragments là où il est possible .

    4. Généralement, les développeurs utilisent des fragments pour regrouper ensemble la logique associée et il est beaucoup mieux de le faire de cette façon car il fournira un regroupement logique de ce que vous essayez de faire.

    5. Il est également facile de transmettre des objets de données java entre fragments via l'activité conteneur et avec l'aide d' Interfaces . Ceci est également considéré comme une approche très modulaire.

    Le repos dépend de la façon dont vous souhaitez définir le flux de votre application. Je pense que l'utilisation de fragments est une approche beaucoup mieux dans votre scénario. Utilisez des activités de conteneurs partout où vous pensez que la logique associée a changé drastiquement.

    Tout d'abord, la gestion de la navigation entre fragments n'est pas difficile. Vous pouvez consulter le didacticiel de google . Je peux vous suggérer des modifications si vous publiez votre code

    Je pense que c'est une mauvaise conception pour deux raisons

    • Beaucoup de retravailler les codes
    • Si vous souhaitez modifier votre modèle de navigation pour dire des onglets, cela ne peut pas être fait facilement.
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.