Bonjour à tous,
Cela fait un bout de temps que je cherche réponse à ma question (peut être la réponse est déjà présente dans le forum et a été formulée autrement, auquel cas, je m'en excuse d'avance).
En fait, cette question est plutôt une question "Best practice" dans la navigation entre les activités et non pas forcément technique.
Dans la plupart des documentations, j'ai bien compris que la solution la plus commune (au sujet de la navigation entre les activités) était d'appeler une activité à partir de la précédente dans l'ordre visuel de l'application.
Par exemple : LaPage1.java appelle LaPage2.java, LaPage2.java appelle LaPage3.java, LaPage3.java appelle LaPage4.java etc. (Bien entendu, j'ai bien compris aussi que LaPage2.java peut appeler LaPage2a.java et LaPage2b.java par exemple).
Selon mon expérience (et pas forcément la meilleure :p) dans le développement applicatif, j'imaginais plutôt le modèle suivant : Je crée une sorte de ActivityManager.java permettant de gérer la navigation entre les différentes activités.
Je m'explique (à partir de l'exemple précédent) : L'application démarre en appelant l'ActivityManager.java, l'ActivityManager.java appelle directement (sans intervention de l'utilisateur) LaPage1.java.
Lorsque l'utilisateur veut passer à LaPage2.java, LaPaga1.java appelle ActivityManager.java qui à son tour appelle LaPage2a.java (et ainsi de suite pour les autres pages).
Selon moi, cette conception offre l'avantage suivant : Toutes les navigations sont regroupés dans un seul et même endroit (ici ActivityManager.java).
Cela permet de rendre l'application plus flexible au niveau du code puisque si je veux rajouter ou enlever un maillon de la chaîne d'activités, il me suffit de modifier cette classe, de plus, il y a une meilleure visibilité de l’enchaînement des activités de l'application puisque tout le chaînage est finalement explicité dans ActivityManager.java (je n'ai pas besoin d'aller d'activités en activités pour voir qui appelle quoi).
Ma question est donc la suivante : Etant donné que je n'ai pas réussi à rencontrer cette pratique sur le web, je suppose qu'il y a plusieurs inconvénients qui m'empêchent d'utiliser cette solution (même si en pratique c'est faisable, je l'ai testée). Donc, quelles sont les inconvénients de ce procédé ? Il y a-t-il un procédé viable et équivalent à celui que je viens de proposer ? Il y a peut être quelque chose que je n'ai pas saisi dans le cycle de vie d'une activité... ?
Je vous remercie de tout cœur, d'avoir pris le temps de lire mon post !
Bonne semaine à tous !
Partager