Guía de migración
- Guía de migración de Navigation 2 a Navigation 3: Guía paso a paso para migrar una aplicación para Android de Navigation 2 a Navigation 3, que abarca las actualizaciones de dependencias, los cambios de rutas, la administración de estados y los reemplazos de componentes de IU.
Requisitos
- Guía: Migra a la navegación con seguridad de tipos en Compose: Guía paso a paso para migrar una aplicación para Android de la navegación basada en cadenas a la navegación con seguridad de tipos en Jetpack Compose con Jetpack Navigation 2.
Documentación para desarrolladores
- *Navigation 3 Busca en la documentación más información sobre los conceptos básicos, cómo guardar y administrar el estado de navegación, cómo modularizar el código de navegación, cómo crear diseños personalizados con Scenes, cómo animar transiciones entre destinos o cómo aplicar lógica o wrappers a los destinos.
Recetas
Ejemplos de código que muestran patrones comunes
Uso básico de la API
- Básico: Muestra el uso más básico de la API.
- Pila de actividades guardable: Muestra el uso básico de la API con una pila de actividades persistente.
- DSL de Entry provider: Muestra el uso básico de la API con la DSL de entryProvider.
IU común
- Common UI: Demuestra cómo implementar un patrón de IU de navegación común con una barra de navegación inferior y varias pilas de actividades, en el que cada pestaña de la barra de navegación tiene su propio historial de navegación.
Vínculos directos
- Básico: Muestra cómo analizar una URL de vínculo directo desde un intent de Android en una clave de navegación.
- Avanzado: Muestra cómo controlar vínculos directos con una pila de historial sintética y un comportamiento de navegación "Hacia arriba" correcto.
Ambientes
Cómo usar las Rutinas integradas
- Dialog: Muestra cómo crear un diálogo.
Cómo crear rutinas personalizadas
- BottomSheet: Muestra cómo crear un destino de BottomSheet.
- Escena de lista y detalles: Muestra cómo implementar diseños adaptativos de lista y detalles con la API de Navigation 3 Scenes.
- Escena de dos paneles: Muestra cómo implementar diseños adaptativos de dos paneles con la API de Navigation 3 Scenes.
Material Adaptive
- Material List-Detail: Muestra cómo implementar un diseño de lista-detalles adaptable con Material 3 Adaptive.
- Panel complementario de Material: Muestra cómo implementar un diseño de panel complementario adaptable con Material 3 Adaptive.
Animaciones
- Animaciones: Muestra cómo anular las animaciones predeterminadas para todos los destinos y para un solo destino.
Comportamiento común de la pila de actividades
- Varias pilas de actividades: Muestra cómo crear varias rutas de nivel superior, cada una con su propia pila de actividades. Las rutas de nivel superior se muestran en una barra de navegación que permite a los usuarios cambiar entre ellas. El estado se conserva para cada ruta de nivel superior, y el estado de navegación persiste en los cambios de configuración y el cierre del proceso.
Navegación condicional
- Navegación condicional: Cambia a un flujo de navegación diferente cuando se cumple una condición. Por ejemplo, para la autenticación o la incorporación de usuarios nuevos.
Arquitectura
- Código de navegación modularizado (Hilt): Muestra cómo desacoplar el código de navegación en módulos separados con Hilt o Dagger para la DI.
- Código de navegación modularizado (Koin): Muestra cómo desacoplar el código de navegación en módulos separados con Koin para la DI.
Trabaja con ViewModel
Cómo pasar argumentos de navegación
- ViewModel básico: Los argumentos de navegación se pasan a un
ViewModelconstruido conviewModel().
Devuelve resultados
- Devolver resultados como eventos: Devolver resultados como eventos al contenido en otro
NavEntry - Devolver resultados como estado: Devolver resultados como estado almacenado en un
CompositionLocal