Android Academy · Lektion

Konfigurera NavHost

Definiera en navigeringsgraf i Compose.

Lektion 1 av 413 steg

Konfigurera NavHost är en gratis lektion i Android Academy på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Android Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Android Academy innehåller totalt 4 lektioner.

Navigera mellan skärmar

De flesta appar har mer än en skärm. Biblioteket Navigation Compose låter er navigera mellan composable-skärmar samtidigt som en back stack bevaras.

Beroendet

Lägg till navigationsbiblioteket i er Gradle-fil, så får ni NavController, NavHost och hjälpfunktioner.

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

NavController

NavController är objektet som utför navigeringen och kommer ihåg back stacken. Skapa det med rememberNavController().

val navController = rememberNavController()

NavHost

NavHost är en composable som visar den aktuella destinationen. Den behöver controllern och en route för startDestination.

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

Definiera destinationer

Inuti lambdan för NavHost deklarerar ni varje skärm med composable("route"). Strängen är destinationens route.

composable("home") {
    HomeScreen()
}

Routes är strängar

En route är ett unikt sträng-ID för en destination, ungefär som en URL-sökväg. Ni navigerar med hjälp av routen, och NavHost visar motsvarande composable.

En graf med två skärmar

Här är en minimal navigeringsgraf med två destinationer. "home" visas först eftersom den är startDestination.

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

startDestination

startDestination är den första skärmen användaren ser och roten (root) i back stacken. Appen kan inte poppa förbi den.

Skicka ned controllern

Skärmar som utlöser navigering behöver NavController. Skicka den som en parameter eller, ännu hellre, skicka enkla lambdas som onContinue för att hålla skärmarna återanvändbara.

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

En NavHost per område

Vanligtvis har ni en enda NavHost högst upp i appen. Controllern skapas en gång med rememberNavController() och delas mellan destinationerna.

Sätta ihop det

En komplett konfiguration: controller, host och två destinationer.

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

Snabbkontroll

Vilket objekt kommer ihåg back stacken och utför navigeringen?

Sammanfattning

Konfigurera navigering:

  • rememberNavController() skapar controllern.
  • NavHost visar destinationer och behöver en startDestination.
  • Deklarera skärmar med composable("route"); routes är unika strängar.
Gratis att börja

Lär dig Kotlin med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
36
Lektioner
152

Vanliga frågor

Är lektionen ”Konfigurera NavHost” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Android Academy, inklusive ”Konfigurera NavHost”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Android Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Konfigurera NavHost”?

Definiera en navigeringsgraf i Compose. Ni övar på Android Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Android Academy?

Du behöver inga förkunskaper. Utbildningen i Android Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Konfigurera NavHost”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Android Academy-lektionen?

Ja. Varje Android Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Konfigurera NavHost
  2. Navigera mellan skärmar
  3. Skicka argument
  4. Navigering längst ned
← Tillbaka till Android Academy