Jetpack Compose Academy · Lezione

Destinazioni e route Composable

Registri ogni schermata come route.

Lezione 2 di 413 passaggi

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

Gratis per iniziare

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

  1. NavController e NavHost
  2. Destinazioni e route Composable
  3. Passare argomenti tra le schermate
  4. Back stack e deep link
← Torna a Jetpack Compose Academy