バックスタックとディープリンク
履歴を制御し、URLからルートを開きます。
「バックスタックとディープリンク」はCoddyKit上の無料Jetpack Compose Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これは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?.routeQuick 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時間対応のAIチューター)、Jetpack Compose Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Jetpack Compose Academyコースには全4レッスンが含まれています。
「バックスタックとディープリンク」で何を学びますか?
履歴を制御し、URLからルートを開きます。 ブラウザで直接実行するハンズオンコードでJetpack Compose Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Jetpack Compose Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJetpack Compose Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「バックスタックとディープリンク」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJetpack Compose Academyレッスンでコードを書いて実行できますか?
はい。すべてのJetpack Compose Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- NavControllerとNavHost
- Composableの遷移先とルート
- 画面間で引数を渡す
- バックスタックとディープリンク