Guide de migration
- Guide de migration de Navigation 2 vers Navigation 3 : guide pas à pas pour migrer une application Android de Navigation 2 vers Navigation 3, couvrant les mises à jour des dépendances, les modifications des routes, la gestion de l'état et le remplacement des composants d'UI.
Conditions requises
- Guide : Migrer vers la navigation avec sécurité du typage dans Compose : guide pas à pas pour migrer une application Android de la navigation basée sur des chaînes vers la navigation avec sécurité du typage dans Jetpack Compose à l'aide de Jetpack Navigation 2.
Documentation pour les développeurs
- *Navigation 3. Consultez la documentation de recherche pour en savoir plus sur les principes de base, l'enregistrement et la gestion de l'état de navigation, la modularisation du code de navigation, la création de mises en page personnalisées à l'aide de scènes, l'animation entre les destinations ou l'application de logique ou d'enveloppes aux destinations.
Recettes
Exemples de code illustrant des modèles courants.
Utilisation de base de l'API
- Basic : affiche l'utilisation la plus élémentaire de l'API.
- Pile "Retour" enregistrable : montre l'utilisation de base de l'API avec une pile "Retour" persistante.
- DSL du fournisseur d'entrées : montre l'utilisation de base de l'API à l'aide du DSL entryProvider.
UI commune
- UI courante : montre comment implémenter un modèle d'UI de navigation courant avec une barre de navigation inférieure et plusieurs piles "Retour", où chaque onglet de la barre de navigation possède son propre historique de navigation.
Liens profonds
- De base : montre comment analyser une URL de lien profond à partir d'un intent Android pour obtenir une clé de navigation.
- Avancé : montre comment gérer les liens profonds avec une pile de retour synthétique et un comportement de navigation "Haut" correct.
Scènes
Utiliser les scènes intégrées
- Dialog : montre comment créer une boîte de dialogue.
Créer des scènes personnalisées
- BottomSheet : montre comment créer une destination BottomSheet.
- Scène Liste/Détails : montre comment implémenter des mises en page adaptatives de type liste/détails à l'aide de l'API Navigation 3 Scenes.
- Scène à deux volets : montre comment implémenter des mises en page adaptatives à deux volets à l'aide de l'API Navigation 3 Scenes.
Material Adaptive
- Liste/Détail Material : montre comment implémenter une mise en page adaptative de type "Liste/Détail" à l'aide de Material 3 Adaptive.
- Volet secondaire Material : montre comment implémenter une mise en page de volet secondaire adaptative à l'aide de Material 3 Adaptive.
Animations
- Animations : montre comment remplacer les animations par défaut pour toutes les destinations et pour une seule destination.
Comportement courant de la pile "Retour"
- Plusieurs piles "Retour" : montre comment créer plusieurs routes de niveau supérieur, chacune avec sa propre pile "Retour". Les routes de premier niveau sont affichées dans une barre de navigation qui permet aux utilisateurs de passer de l'une à l'autre. L'état est conservé pour chaque route de premier niveau, et l'état de navigation persiste en cas de modification de la configuration et d'arrêt du processus.
Navigation conditionnelle
- Navigation conditionnelle : passez à un autre flux de navigation lorsqu'une condition est remplie. Par exemple, pour l'authentification ou l'intégration des nouveaux utilisateurs.
Architecture
- Code de navigation modularisé (Hilt) : montre comment découpler le code de navigation dans des modules distincts à l'aide de Hilt ou Dagger pour l'ID.
- Code de navigation modularisé (Koin) : montre comment dissocier le code de navigation dans des modules distincts à l'aide de Koin pour l'injection de dépendances.
Utiliser ViewModel
Transmettre des arguments de navigation
- ViewModel de base : les arguments de navigation sont transmis à un
ViewModelconstruit à l'aide deviewModel().
Renvoyer des résultats
- Renvoi des résultats en tant qu'événements : renvoi des résultats en tant qu'événements vers du contenu dans un autre
NavEntry - Renvoi des résultats en tant qu'état : renvoi des résultats en tant qu'état stocké dans un
CompositionLocal