Jetpack Compose Academy · Lekcja

Stos wsteczny i deep linki

Kontroluj historię i otwieraj trasy z adresów URL

Lekcja 4 z 413 kroki

Stos wsteczny i deep linki to bezpłatna lekcja Jetpack Compose Academy na CoddyKit. To lekcja 4 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 Jetpack Compose Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Jetpack Compose Academy zawiera 4 lekcji w sumie.

Czym jest stos powrotu

Stos powrotu to historia odwiedzonych ekranów. Każde wywołanie navigate umieszcza na jego wierzchu nowy wpis.

Cofanie

Wywołanie popBackStack() usuwa wpis z wierzchu stosu i wyświetla znajdujący się pod nim ekran. Systemowy gest cofania robi to samo automatycznie.

navController.popBackStack()

Usuwanie elementów do trasy

Użyj popUpTo podczas nawigowania, aby usunąć ze stosu ekrany aż do określonego miejsca docelowego. Doskonale nadaje się to do powrotu do znanego ekranu głównego.

navController.navigate("home") {
    popUpTo("home")
}

Unikanie zduplikowanych wpisów

Ustaw launchSingleTop na true, aby dwukrotne dotknięcie tego samego miejsca docelowego nie umieszczało na stosie jego identycznych kopii.

navController.navigate("home") {
    launchSingleTop = true
}

Czyszczenie po zalogowaniu

Po zalogowaniu usuń ekran logowania za pomocą inclusive = true, aby przycisk cofania nigdy do niego nie wracał.

navController.navigate("home") {
    popUpTo("login") { inclusive = true }
}

Poznaj precyzyjne linki

Precyzyjny link otwiera konkretny ekran bezpośrednio z adresu URL lub powiadomienia, pomijając zwykłą ścieżkę przechodzenia przez aplikację krok po kroku.

Deklarowanie precyzyjnego linku

Dołącz navDeepLink do miejsca docelowego za pomocą wzorca URI. Compose porównuje przychodzące linki z tym wzorcem.

composable(
    "profile/{userId}",
    deepLinks = listOf(navDeepLink { uriPattern = "app://profile/{userId}" })
) { }

Precyzyjne linki przenoszą argumenty

Symbole zastępcze w URI precyzyjnego linku wypełniają argumenty trasy. Otwarcie app://profile/42 prowadzi do ekranu profilu z wartością userId ustawioną na 42.

Rejestrowanie filtra intencji

W przypadku linków spoza aplikacji dodaj pasujący intent-filter w manifeście, aby Android przekierował adres URL do aktywności.

Precyzyjne linki budują stos

Navigation Compose może utworzyć stos powrotu dla precyzyjnego linku, dzięki czemu naciśnięcie przycisku cofania prowadzi do sensownego ekranu nadrzędnego zamiast zamykać aplikację.

Obserwowanie bieżącego wpisu

Zbieraj currentBackStackEntryAsState, aby reagować na bieżące położenie użytkownika, na przykład wyróżniając wybraną kartę.

val entry by navController.currentBackStackEntryAsState()
val route = entry?.destination?.route

Szybkie sprawdzenie

Jak uniemożliwić powrót do ekranu logowania?

Podsumowanie

Możesz teraz kontrolować historię za pomocą popUpTo i launchSingleTop, a także przechodzić bezpośrednio do ekranu za pomocą precyzyjnych linków, które potrafią nawet odtworzyć sensowny stos powrotu. 🚀

Bezpłatny start

Ucz się Kotlin dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Stos wsteczny i deep linki” jest bezpłatna?

Tak — pełny tekst „Stos wsteczny i deep linki” 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 Jetpack Compose Academy, przejdź na CoddyKit PRO. Kurs Jetpack Compose Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Stos wsteczny i deep linki”?

Kontroluj historię i otwieraj trasy z adresów URL Ćwiczysz Jetpack Compose 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ąć Jetpack Compose Academy?

Nie wymagamy żadnego doświadczenia. Jetpack Compose 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 4 z 4.

Ile czasu zajmuje lekcja „Stos wsteczny i deep linki”?

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 Jetpack Compose Academy?

Tak. Każda lekcja Jetpack Compose 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. NavController i NavHost
  2. Miejsca docelowe i trasy Composable
  3. Przekazywanie argumentów między ekranami
  4. Stos wsteczny i deep linki
← Powrót do Jetpack Compose Academy