0Pricing
Android Academy · Lekcja

Konfigurowanie NavHost

Zdefiniuj graf nawigacji w Compose

Konfigurowanie NavHost to bezpłatna lekcja Android Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Android Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Android Academy zawiera 4 lekcji w sumie.

Nawigowanie między ekranami

Większość aplikacji ma więcej niż jeden ekran. Biblioteka Navigation Compose umożliwia przechodzenie między ekranami composable przy zachowaniu stosu powrotu.

Zależność

Należy dodać bibliotekę nawigacji do pliku Gradle, aby uzyskać NavController, NavHost i funkcje pomocnicze.

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

NavController

NavController to obiekt, który wykonuje nawigację i pamięta stos powrotu. Należy utworzyć go za pomocą rememberNavController().

val navController = rememberNavController()

NavHost

NavHost to composable wyświetlający bieżące miejsce docelowe. Wymaga kontrolera i trasy startDestination.

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

Definiowanie miejsc docelowych

W lambdzie NavHost należy zadeklarować każdy ekran za pomocą composable("route"). Ciąg znaków to route miejsca docelowego.

composable("home") {
    HomeScreen()
}

Trasy są ciągami znaków

route to unikalny identyfikator tekstowy miejsca docelowego, podobny do ścieżki URL. Nawigacja odbywa się za pomocą trasy, a NavHost wyświetla pasujący composable.

Graf nawigacji z dwoma ekranami

Oto minimalny graf nawigacji z dwoma miejscami docelowymi. "home" jest wyświetlany jako pierwszy, ponieważ jest wartością startDestination.

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

startDestination

startDestination to pierwszy ekran widziany przez użytkownika oraz korzeń stosu powrotu. Aplikacja nie może cofnąć się poza niego.

Przekazywanie kontrolera niżej

Ekrany wywołujące nawigację potrzebują NavController. Należy przekazać go jako parametr albo, jeszcze lepiej, przekazać proste lambdy, takie jak onContinue, aby ekrany można było ponownie wykorzystywać.

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

Jeden NavHost na obszar

Zwykle na samej górze aplikacji znajduje się jeden NavHost. Kontroler jest tworzony raz za pomocą rememberNavController() i współdzielony między miejscami docelowymi.

Składanie wszystkiego w całość

Kompletna konfiguracja: kontroler, host i dwa miejsca docelowe.

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

Szybkie sprawdzenie

Który obiekt pamięta stos powrotu i wykonuje nawigację?

Podsumowanie

Konfiguracja nawigacji:

  • rememberNavController() tworzy kontroler.
  • NavHost wyświetla miejsca docelowe i wymaga startDestination.
  • Ekrany należy deklarować za pomocą composable("route"); trasy są unikalnymi ciągami znaków.

Często zadawane pytania

Czy lekcja „Konfigurowanie NavHost” jest bezpłatna?

Tak — pełny tekst „Konfigurowanie NavHost” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Android Academy, przejdź na CoddyKit PRO. Kurs Android Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Konfigurowanie NavHost”?

Zdefiniuj graf nawigacji w Compose Ćwiczysz Android Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Android Academy?

Nie wymagamy żadnego doświadczenia. Android Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Konfigurowanie NavHost”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Android Academy?

Tak. Każda lekcja Android Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Konfigurowanie NavHost
  2. Nawigowanie między ekranami
  3. Przekazywanie argumentów
  4. Nawigacja dolna
← Powrót do Android Academy