0Pricing
Android Academy · Leçon

Naviguer entre les écrans

Avancez et revenez entre les destinations.

Naviguer entre les écrans est une leçon Android Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Android Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Android Academy comprend 4 leçons au total.

Aller de l’avant

Une fois votre NavHost configuré, vous accédez à un autre écran en appelant navigate sur le NavController avec la route cible.

navController.navigate("details")

Déclencher la navigation depuis un bouton

La navigation se produit généralement dans un rappel, comme le onClick d’un bouton.

Button(onClick = { navController.navigate("details") }) {
    Text("Open details")
}

La pile de retour

Chaque appel à navigate ajoute la nouvelle destination à la pile de retour. Le bouton de retour du système la retire automatiquement, ce qui vous ramène à l’écran précédent.

popBackStack

Pour revenir en arrière par programmation, par exemple depuis un bouton « Retour » personnalisé, appelez popBackStack. La destination actuelle est supprimée et vous revenez à la précédente.

navController.popBackStack()

navigateUp

navigateUp() fonctionne de manière similaire et constitue le bon choix pour la flèche « Retour » de la barre d’outils. Cette fonction respecte la hiérarchie de navigation.

navController.navigateUp()

Éviter les destinations en double

Un double appui rapide sur un bouton peut ajouter deux fois le même écran. Utilisez launchSingleTop = true pour éviter d’empiler des copies identiques d’une destination.

navController.navigate("details") {
    launchSingleTop = true
}

popUpTo

popUpTo efface une partie de la pile de retour pendant la navigation. C’est utile après une connexion : accédez à l’accueil et supprimez l’écran de connexion afin que le bouton de retour n’y ramène pas.

navController.navigate("home") {
    popUpTo("login") { inclusive = true }
}

inclusif

inclusive = true signifie que la cible de popUpTo est également supprimée. Avec inclusive = false, la suppression s’arrête juste au-dessus de cette cible.

Garder les écrans indépendants

Au lieu de transmettre tout le NavController à chaque écran, transmettez des lambdas. L’écran appelle onOpenDetails() et n’a pas besoin de connaître les détails internes de la navigation.

@Composable
fun HomeScreen(onOpenDetails: () -> Unit) {
    Button(onClick = onOpenDetails) { Text("Details") }
}

Relier la lambda

Le NavHost relie la lambda à un véritable appel à navigate, ce qui regroupe la logique de navigation en un seul endroit.

composable("home") {
    HomeScreen(onOpenDetails = {
        navController.navigate("details")
    })
}

Mettre tout en place

L’écran d’accueil ouvre l’écran de détails ; l’écran de détails revient en arrière avec la flèche « Retour ».

composable("home") {
    HomeScreen(onOpenDetails = { navController.navigate("details") })
}
composable("details") {
    DetailsScreen(onBack = { navController.popBackStack() })
}

Vérification rapide

Quel appel ramène l’utilisateur à l’écran précédent par programmation ?

Récapitulatif

Navigation :

  • navigate("route") ajoute une destination.
  • popBackStack() / navigateUp() permettent de revenir en arrière.
  • Utilisez launchSingleTop et popUpTo { inclusive } pour contrôler la pile.
  • Transmettez des lambdas, et non le contrôleur, afin de garder des écrans réutilisables.

Questions Fréquemment Posées

La leçon « Naviguer entre les écrans » est-elle gratuite ?

Oui — le texte complet de « Naviguer entre les écrans » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Android Academy, passe à CoddyKit PRO. Le cours Android Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Naviguer entre les écrans » ?

Avancez et revenez entre les destinations. Tu pratiques Android Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Android Academy ?

Aucune expérience préalable n'est requise. Android Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Naviguer entre les écrans » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Android Academy ?

Oui. Chaque leçon Android Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Configurer NavHost
  2. Naviguer entre les écrans
  3. Transmettre des arguments
  4. Navigation inférieure
← Retour à Android Academy