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.NavHostwyświetla miejsca docelowe i wymagastartDestination.- 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
- Konfigurowanie NavHost
- Nawigowanie między ekranami
- Przekazywanie argumentów
- Nawigacja dolna