Destinations et routes Composable
Enregistrez chaque écran comme une route.
Destinations et routes Composable est une leçon Jetpack Compose 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 Jetpack Compose Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Jetpack Compose Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Screens as Destinations
Every screen in your graph is a destination. You register one with the composable builder inside the NavHost, naming it with a route.
composable("home") { HomeScreen() }What a Route Really Is
A route is a unique string key for a destination. Compose matches the string you navigate to against the routes you declared.
Keep Routes in Constants
Typos in raw strings cause silent failures. Store each route as a constant so the compiler catches mistakes for you.
object Routes {
const val HOME = "home"
const val SETTINGS = "settings"
}A Sealed Class of Screens
For larger apps, a sealed class groups all routes in one place. It makes adding screens safe and easy to discover.
sealed class Screen(val route: String) {
object Home : Screen("home")
object Settings : Screen("settings")
}Register Each Destination
List every screen with its own composable block. The lambda body is the UI shown when that route becomes active.
NavHost(navController, startDestination = Screen.Home.route) {
composable(Screen.Home.route) { HomeScreen() }
composable(Screen.Settings.route) { SettingsScreen() }
}Navigate to a Route
Use the same route string to move there. The NavController finds the matching destination and the NavHost renders it.
navController.navigate(Screen.Settings.route)Routes Must Be Unique
Two destinations cannot share a route. Each route is an address, and duplicate addresses make navigation ambiguous and unreliable.
Pass the Controller Down
Screens often trigger navigation, so hand each destination a way to navigate. A common pattern passes lambdas instead of the whole controller.
composable("home") {
HomeScreen(onOpenSettings = { navController.navigate("settings") })
}Keep Screens Decoupled
Passing lambdas instead of the NavController keeps screens testable and reusable. The screen says what happened, not how to navigate.
Routes Look Like URLs
Treat routes like little URLs. This style pays off later when you add arguments and deep links that open routes from outside the app.
Group Related Flows
As graphs grow, you can split screens into nested graphs with their own routes. This keeps a feature's destinations tidy and self-contained.
Quick Check
Why prefer constants or a sealed class for routes?
Recap
You learned that each screen is a destination with a unique route, and that constants or a sealed class keep those routes safe and organized. 🗂️
Questions Fréquemment Posées
La leçon « Destinations et routes Composable » est-elle gratuite ?
Oui — le texte complet de « Destinations et routes Composable » 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 Jetpack Compose Academy, passe à CoddyKit PRO. Le cours Jetpack Compose Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Destinations et routes Composable » ?
Enregistrez chaque écran comme une route. Tu pratiques Jetpack Compose 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 Jetpack Compose Academy ?
Aucune expérience préalable n'est requise. Jetpack Compose 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 « Destinations et routes Composable » ?
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 Jetpack Compose Academy ?
Oui. Chaque leçon Jetpack Compose 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
- NavController et NavHost
- Destinations et routes Composable
- Transmettre des arguments entre les écrans
- Pile de retour et liens profonds