Jetpack Compose Academy · Lección

Destinos y rutas Composable

Registre cada pantalla como una ruta.

Lección 2 de 413 pasos

Destinos y rutas Composable es una lección gratuita de Jetpack Compose Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Jetpack Compose Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Jetpack Compose Academy incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

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. 🗂️

Gratis para empezar

Aprende Kotlin con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «Destinos y rutas Composable» es gratis?

Sí — el texto completo de «Destinos y rutas Composable» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Jetpack Compose Academy, actualiza a CoddyKit PRO. El curso de Jetpack Compose Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Destinos y rutas Composable»?

Registre cada pantalla como una ruta. Practicas Jetpack Compose Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Jetpack Compose Academy?

No se requiere experiencia previa. Jetpack Compose Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Destinos y rutas Composable»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Jetpack Compose Academy?

Sí. Cada lección de Jetpack Compose Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. NavController y NavHost
  2. Destinos y rutas Composable
  3. Pasar argumentos entre pantallas
  4. Pila de navegación y deep links
← Volver a Jetpack Compose Academy