Sette opp NavHost
Definer en navigasjonsgraf i Compose.
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.NavHostviser mål og trenger enstartDestination.- Deklarer skjermer med
composable("route"); ruter er unike strenger.
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
- Sette opp NavHost
- Navigere mellom skjermer
- Sende argumenter
- Navigasjon nederst