0Pricing
Jetpack Compose Academy · Урок

Стек возврата и глубокие ссылки

Управляйте историей и открывайте маршруты из URL.

«Стек возврата и глубокие ссылки» — бесплатный урок Jetpack Compose Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Jetpack Compose Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Jetpack Compose Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

What the Back Stack Is

The back stack is the history of screens you have visited. Each navigate call pushes a new entry on top of it.

Going Back

Calling popBackStack() removes the top entry and shows the screen beneath. The system back gesture does the same thing automatically.

navController.popBackStack()

Pop Up To a Route

Use popUpTo while navigating to clear screens off the stack up to a target. It is perfect for returning to a known root.

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

Avoid Duplicate Entries

Set launchSingleTop to true so tapping the same destination twice does not stack identical copies of it.

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

Clear After Login

After signing in, pop the login screen with inclusive = true so back never returns to it.

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

Meet Deep Links

A deep link opens a specific screen directly from a URL or notification, skipping the normal step-by-step path through your app.

Declare a Deep Link

Attach a navDeepLink to a destination with a URI pattern. Compose matches incoming links against that pattern.

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

Deep Links Carry Arguments

Placeholders in a deep link URI fill your route arguments. Opening app://profile/42 lands on the profile screen with userId set to 42.

Register an Intent Filter

For links from outside the app, add a matching intent-filter in the manifest so Android routes the URL to your activity.

Deep Links Build the Stack

Navigation Compose can synthesize a back stack for a deep link, so pressing back walks up to a sensible parent instead of exiting.

Observe the Current Entry

Collect currentBackStackEntryAsState to react to where the user is, useful for highlighting a selected tab.

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

Quick Check

How do you stop back from returning to the login screen?

Recap

You now control history with popUpTo and launchSingleTop, and you can jump straight to a screen using deep links that even rebuild a sensible back stack. 🚀

Часто задаваемые вопросы

Урок «Стек возврата и глубокие ссылки» бесплатный?

Да — полный текст урока «Стек возврата и глубокие ссылки» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Jetpack Compose Academy, подпишись на CoddyKit PRO. Курс Jetpack Compose Academy содержит 4 уроков всего.

Чему я научусь в уроке «Стек возврата и глубокие ссылки»?

Управляйте историей и открывайте маршруты из URL. Ты практикуешь Jetpack Compose Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Jetpack Compose Academy?

Предыдущий опыт не требуется. Jetpack Compose Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Стек возврата и глубокие ссылки»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Jetpack Compose Academy?

Да. Каждый урок Jetpack Compose Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. NavController и NavHost
  2. Маршруты и пункты назначения Composable
  3. Передача аргументов между экранами
  4. Стек возврата и глубокие ссылки
← Назад к Jetpack Compose Academy