Destinazioni e route Composable
Registri ogni schermata come route.
Destinazioni e route Composable è una lezione Jetpack Compose Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Jetpack Compose Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Jetpack Compose Academy include 4 lezioni in totale.
Gli schermi come destinazioni
Ogni schermo del grafo è una destination. Ne registri uno con il builder composable all’interno del NavHost, assegnandogli una route.
composable("home") { HomeScreen() }Che cos’è davvero una route
Una route è una chiave stringa univoca per una destinazione. Compose confronta la stringa verso cui esegue la navigazione con le route dichiarate.
Mantenere le route nelle costanti
Gli errori di battitura nelle stringhe non elaborate causano errori silenziosi. Memorizzi ogni route come constant, così il compilatore individuerà gli errori al posto Suo.
object Routes {
const val HOME = "home"
const val SETTINGS = "settings"
}Una sealed class di schermi
Nelle app più grandi, una sealed class raggruppa tutte le route in un unico punto. Questo rende sicura e facile da individuare l’aggiunta di nuovi schermi.
sealed class Screen(val route: String) {
object Home : Screen("home")
object Settings : Screen("settings")
}Registrare ogni destinazione
Elencare ogni schermo con il proprio blocco composable. Il corpo della lambda è la UI mostrata quando quella route diventa attiva.
NavHost(navController, startDestination = Screen.Home.route) {
composable(Screen.Home.route) { HomeScreen() }
composable(Screen.Settings.route) { SettingsScreen() }
}Navigare verso una route
Usi la stessa stringa della route per raggiungerla. Il NavController trova la destinazione corrispondente e il NavHost ne esegue il rendering.
navController.navigate(Screen.Settings.route)Le route devono essere univoche
Due destinazioni non possono condividere una route. Ogni route è un indirizzo, e gli indirizzi duplicati rendono la navigazione ambigua e inaffidabile.
Passare il controller ai livelli inferiori
Gli schermi avviano spesso la navigazione, quindi fornisca a ogni destinazione un modo per navigare. Un pattern comune consiste nel passare lambda invece dell’intero controller.
composable("home") {
HomeScreen(onOpenSettings = { navController.navigate("settings") })
}Mantenere gli schermi indipendenti
Passare lambdas invece del NavController mantiene gli schermi testabili e riutilizzabili. Lo schermo comunica cosa è successo, non come navigare.
Le route sembrano URL
Consideri le route come piccoli URL. Questo approccio si rivela utile in seguito, quando aggiungerà argomenti e deep link che aprono le route dall’esterno dell’app.
Raggruppare i flussi correlati
Quando i grafi crescono, può suddividere gli schermi in nested graphs con le proprie route. In questo modo le destinazioni di una funzionalità restano ordinate e indipendenti.
Verifica rapida
Perché è preferibile usare costanti o una sealed class per le route?
Riepilogo
Ha imparato che ogni schermo è una destination con una route univoca e che costanti o una sealed class mantengono queste route sicure e organizzate. 🗂️
Impara Kotlin con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Destinazioni e route Composable» è gratuita?
Sì — il testo completo di «Destinazioni e route Composable» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Jetpack Compose Academy, passa a CoddyKit PRO. Il corso Jetpack Compose Academy include 4 lezioni in totale.
Cosa imparerò in «Destinazioni e route Composable»?
Registri ogni schermata come route. Eserciti Jetpack Compose Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Jetpack Compose Academy?
Non è richiesta alcuna esperienza precedente. Jetpack Compose Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Destinazioni e route Composable»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Jetpack Compose Academy?
Sì. Ogni lezione Jetpack Compose Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- NavController e NavHost
- Destinazioni e route Composable
- Passare argomenti tra le schermate
- Back stack e deep link