NavHostin määrittäminen
Määrittäkää navigointikaavio Composessa.
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.NavHostnäyttää kohteet ja tarvitseestartDestination-arvon.- Ilmoittakaa näytöt käyttämällä
composable("route")-rakennetta; reitit ovat yksilöiviä merkkijonoja.
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
- NavHostin määrittäminen
- Näyttöjen välillä navigointi
- Argumenttien välittäminen
- Alapalkin navigointi