0Pricing
Android Academy · Leçon

Configurer NavHost

Définissez un graphe de navigation dans Compose.

Configurer NavHost est une leçon Android Academy gratuite sur CoddyKit. Ceci est la leçon 1 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.

Naviguer entre les écrans

La plupart des applications comportent plusieurs écrans. La bibliothèque Navigation Compose vous permet de passer d’un écran composable à l’autre tout en conservant une pile de retour.

La dépendance

Ajoutez la bibliothèque de navigation à votre fichier Gradle, puis vous disposerez de NavController, NavHost et de fonctions utilitaires.

// build.gradle (module)
implementation("androidx.navigation:navigation-compose:2.7.0")

Le NavController

Le NavController est l’objet qui effectue la navigation et mémorise la pile de retour. Créez-le avec rememberNavController().

val navController = rememberNavController()

Le NavHost

Le NavHost est un composable qui affiche la destination actuelle. Il a besoin du contrôleur et d’une route startDestination.

NavHost(
    navController = navController,
    startDestination = "home"
) {
    // destinations go here
}

Définir les destinations

Dans la lambda de NavHost, déclarez chaque écran avec composable("route"). La chaîne correspond à la route de la destination.

composable("home") {
    HomeScreen()
}

Les routes sont des chaînes

Une route est un identifiant unique sous forme de chaîne pour une destination, comparable au chemin d’une URL. Vous naviguez à l’aide de la route et le NavHost affiche le composable correspondant.

Un graphe à deux écrans

Voici un graphe de navigation minimal comportant deux destinations. "home" s’affiche en premier, car il s’agit de la startDestination.

NavHost(navController, startDestination = "home") {
    composable("home") { HomeScreen() }
    composable("details") { DetailsScreen() }
}

startDestination

La startDestination est le premier écran que voit l’utilisateur et la racine de la pile de retour. L’application ne peut pas remonter au-delà de cette destination.

Transmettre le contrôleur

Les écrans qui déclenchent une navigation ont besoin du NavController. Transmettez-le comme paramètre ou, mieux encore, transmettez de simples lambdas comme onContinue afin de rendre les écrans réutilisables.

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

Un NavHost par zone

En général, votre application possède un seul NavHost au niveau supérieur. Le contrôleur est créé une fois avec rememberNavController() et partagé entre les destinations.

Pour tout assembler

Une configuration complète : contrôleur, hôte et deux destinations.

@Composable
fun App() {
    val navController = rememberNavController()
    NavHost(
        navController = navController,
        startDestination = "home"
    ) {
        composable("home") { HomeScreen() }
        composable("details") { DetailsScreen() }
    }
}

Vérification rapide

Quel objet mémorise la pile de retour et effectue la navigation ?

Récapitulatif

Configuration de la navigation :

  • rememberNavController() crée le contrôleur.
  • NavHost affiche les destinations et nécessite une startDestination.
  • Déclarez les écrans avec composable("route") ; les routes sont des chaînes uniques.

Questions Fréquemment Posées

La leçon « Configurer NavHost » est-elle gratuite ?

Oui — le texte complet de « Configurer NavHost » 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 « Configurer NavHost » ?

Définissez un graphe de navigation dans Compose. 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 1 sur 4.

Combien de temps prend la leçon « Configurer NavHost » ?

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