Android Academy · Oppitunti

NavHostin määrittäminen

Määrittäkää navigointikaavio Composessa.

Oppitunti 1/413 vaihetta

NavHostin määrittäminen on ilmainen Android Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Android Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Android Academy-kurssilla on yhteensä 4 oppituntia.

Näyttöjen välillä siirtyminen

Useimmissa sovelluksissa on useampi kuin yksi näyttö. Navigation Compose -kirjaston avulla voitte siirtyä composable-näyttöjen välillä ja samalla säilyttää paluupinon.

Riippuvuus

Lisätkää navigointikirjasto Gradle-tiedostoon, minkä jälkeen saatte käyttöön NavController-, NavHost- ja apufunktiot.

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

NavController

NavController on olio, joka suorittaa navigoinnin ja muistaa paluupinon. Luokaa se funktiolla rememberNavController().

val navController = rememberNavController()

NavHost

NavHost on composable, joka näyttää nykyisen kohteen. Se tarvitsee controllerin ja startDestination-reitin.

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

Kohteiden määrittäminen

Ilmoittakaa jokainen näyttö NavHost-lambdan sisällä käyttämällä composable("route")-rakennetta. Merkkijono on kohteen route.

composable("home") {
    HomeScreen()
}

Reitit ovat merkkijonoja

Route on kohteen yksilöivä merkkijonotunniste, kuten URL-polku. Navigointi tapahtuu reitin perusteella, ja NavHost näyttää sitä vastaavan composablen.

Kahden näytön graafi

Tässä on minimaalinen navigointigraafi, jossa on kaksi kohdetta. "home" näytetään ensin, koska se on startDestination.

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

startDestination

startDestination on ensimmäinen käyttäjälle näytettävä näyttö ja paluupinon juuri. Sovellus ei voi poistaa sitä pinosta.

Controllerin välittäminen alaspäin

Navigoinnin käynnistävät näytöt tarvitsevat NavController-olion. Välittäkää se parametrina tai, vielä parempi, välittäkää yksinkertaisia lambda-funktioita, kuten onContinue, jotta näytöt pysyvät uudelleenkäytettävinä.

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

Yksi NavHost aluetta kohden

Yleensä sovelluksen yläosassa on yksi NavHost. Controller luodaan kerran funktiolla rememberNavController(), ja sitä käytetään kaikkien kohteiden kanssa.

Kootaan yhteen

Täydellinen kokoonpano: controller, host ja kaksi kohdetta.

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

Pikatarkistus

Mikä olio muistaa paluupinon ja suorittaa navigoinnin?

Kertaus

Navigoinnin kokoonpano:

  • rememberNavController() luo controllerin.
  • NavHost näyttää kohteet ja tarvitsee startDestination-arvon.
  • Ilmoittakaa näytöt käyttämällä composable("route") -rakennetta; reitit ovat yksilöiviä merkkijonoja.
Aloita maksutta

Opi Kotlin tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
36
Oppitunnit
152

Usein kysytyt kysymykset

Onko oppitunti ”NavHostin määrittäminen” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Android Academy-oppimispolun 3 oppituntia, myös oppitunnin “NavHostin määrittäminen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Android Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”NavHostin määrittäminen”?

Määrittäkää navigointikaavio Composessa. Harjoittelet Android Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Android Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Android Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”NavHostin määrittäminen”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Android Academy-oppitunnilla?

Kyllä. Jokainen Android Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. NavHostin määrittäminen
  2. Näyttöjen välillä navigointi
  3. Argumenttien välittäminen
  4. Alapalkin navigointi
← Takaisin: Android Academy