Junior
Quelles méthodes de navigation sur Android connaissez-vous?
sobes.tech IA
Réponse de l'IA
Il existe plusieurs principales méthodes de navigation sur Android:
- Haut (Revenir d’un niveau) : Généralement implémenté avec un bouton fléché dans l’ActionBar/Toolbar. Ramène l’utilisateur à l’écran précédent dans la hiérarchie logique de l’application.
- Retour (Revenir) : Implémenté avec le bouton système "Retour". Ramène l’utilisateur à l’écran précédent qu’il a visité.
- Accueil (Accueil) : Retour à l’écran principal de l’application ou de l’appareil.
- Liens profonds (Deep Links) : Accès direct à un écran ou une ressource spécifique dans l’application via un lien. Peut être créé à partir de sources externes (web, autres applications) ou dans l’application elle-même.
- Coffre de navigation (Navigation Drawer) : Panneau latéral coulissant contenant des liens vers différentes sections de l’application.
- Barre de navigation inférieure (Bottom Navigation Bar) : Barre en bas de l’écran permettant de basculer rapidement entre les sections principales de l’application.
Principales approches pour la mise en œuvre de la navigation :
- Utilisation de
startActivityForResultetonActivityResult: Méthode obsolète pour transmettre des données entre activités. - Transmission de données via Extras dans Intent : Méthode simple pour transférer des données primitives et des objets sérialisables/parceables entre activités.
FragmentTransaction: Gestion des fragments (ajout, remplacement, suppression, etc.) pour la navigation au sein d’une activité.- Composant de navigation (Navigation Component) : Bibliothèque officielle de Google qui facilite la mise en œuvre de la navigation entre différents composants de l’application (Activity, Fragment, Vues personnalisées). Fournit un éditeur graphique pour le graphique de navigation, le transfert d’arguments et la gestion de la pile de retour.
// Exemple de navigation avec Navigation Component
findNavController().navigate(R.id.action_currentFragment_to_nextFragment)
// Transfert d’arguments avec Navigation Component
val bundle = Bundle()
bundle.putString("key", "value")
findNavController().navigate(R.id.action_currentFragment_to_nextFragment, bundle)