Android Academy · leksjon

Sette opp NavHost

Definer en navigasjonsgraf i Compose.

Leksjon 1 av 413 trinn

Sette opp NavHost er en gratis leksjon i Android Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Android Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Android Academy inneholder totalt 4 leksjoner.

Navigere mellom skjermer

De fleste apper har mer enn én skjerm. Biblioteket Navigation Compose lar deg gå mellom komponerbare skjermer samtidig som det beholder en tilbake-stakk.

Avhengigheten

Legg navigasjonsbiblioteket til i Gradle-filen. Da får du NavController, NavHost og hjelpefunksjoner.

// build.gradle (module)
implementation("androidx.navigation:navigation-compose:2.7.0")

NavController

NavController er objektet som utfører navigasjon og husker tilbake-stakken. Opprett det med rememberNavController().

val navController = rememberNavController()

NavHost

NavHost er et komponerbart element som viser det gjeldende målet. Det trenger kontrolleren og en startDestination-rute.

NavHost(
    navController = navController,
    startDestination = "home"
) {
    // destinations go here
}

Definere mål

Inni lambdaen til NavHost deklarerer du hver skjerm med composable("route"). Strengen er målets route.

composable("home") {
    HomeScreen()
}

Ruter er strenger

En route er en unik streng-ID for et mål, omtrent som en URL-bane. Du navigerer ved hjelp av ruten, og NavHost viser det komponerbare elementet som passer.

Et navigasjonsdiagram med to skjermer

Her er et minimalt navigasjonsdiagram med to mål. "home" vises først fordi det er startDestination.

NavHost(navController, startDestination = "home") {
    composable("home") { HomeScreen() }
    composable("details") { DetailsScreen() }
}

startDestination

startDestination er den første skjermen brukeren ser, og roten i tilbake-stakken. Appen kan ikke gå lenger tilbake enn denne.

Sende kontrolleren videre

Skjermer som utløser navigasjon, trenger NavController. Send den inn som en parameter, eller send enda bedre enkle lambdaer som onContinue for å holde skjermene gjenbrukbare.

composable("home") {
    HomeScreen(onOpenDetails = {
        navController.navigate("details")
    })
}

Én NavHost per område

Vanligvis har du én NavHost øverst i appen. Kontrolleren opprettes én gang med rememberNavController() og deles mellom målene.

Sette det sammen

Et komplett oppsett: kontroller, vert og to mål.

@Composable
fun App() {
    val navController = rememberNavController()
    NavHost(
        navController = navController,
        startDestination = "home"
    ) {
        composable("home") { HomeScreen() }
        composable("details") { DetailsScreen() }
    }
}

Rask sjekk

Hvilket objekt husker tilbake-stakken og utfører navigasjon?

Oppsummering

Navigasjonsoppsett:

  • rememberNavController() oppretter kontrolleren.
  • NavHost viser mål og trenger en startDestination.
  • Deklarer skjermer med composable("route"); ruter er unike strenger.
Gratis å komme i gang

Lær deg Kotlin med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
36
Leksjoner
152

Ofte stilte spørsmål

Er leksjonen «Sette opp NavHost» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Android Academy, inkludert «Sette opp NavHost», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Android Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Sette opp NavHost»?

Definer en navigasjonsgraf i Compose. Du øver på Android Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Android Academy?

Ingen tidligere erfaring er nødvendig. Android Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Sette opp NavHost»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Android Academy-leksjonen?

Ja. Alle Android Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Sette opp NavHost
  2. Navigere mellom skjermer
  3. Sende argumenter
  4. Navigasjon nederst
← Tilbake til Android Academy