navigation-3 について
Android Navigation 3 の移行ガイド、ドキュメント案内、レシピをまとめたスキルです。Compose を使う Android 開発者向けに、バックスタックやディープリンク、自適応レイアウトの実装例を扱います。
主な機能
- 01Navigation 2 の移行ガイド
- 02Compose ナビゲーションのレシピ
- 03ディープリンク処理パターン
- 04アダプティブなシーンとレイアウト
- 05バックスタックと状態の例
活用シーン
- 01アプリを Navigation 2 から移行
- 02引数付きディープリンクの追加
- 03アダプティブなリスト詳細画面の構築
- 04タブごとにバックスタックを保持
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ android/ skills --skill navigation-3インストール後、Claude Code で/navigation-3を入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/android/guide/navigation/type-safe-destinations.mdreferences/android/guide/navigation/navigation-3/index.mdmigration-guide.mdreferences/android/guide/navigation/navigation-3/recipes/animations.mdbasic.mdbasicdsl.mdbasicsaveable.mdbottomsheet.mdcommon-ui.mdconditional-transitions.mdconditional.mddeeplinks-custommatcher.mddeeplinks-staticuri.mddeeplinks-syntheticbackstack.mddeeplinks-uriarguments.mddialog.mdlifecycle-owner.mdmaterial-listdetail.mdmaterial-supportingpane.mdmodular-hilt.mdmodular-koin.mdmultiple-backstacks.mdpassingarguments.mdresults-event.mdresults-state.mdscenes-listdetail.mdscenes-twopane.md詳細
移行ガイド
- Navigation 2 から Navigation 3 への移行ガイド:依存関係の更新、ルートの変更、状態管理、UI コンポーネントの置き換えを含む、Android アプリケーションを Navigation 2 から Navigation 3 に移行するための手順を順を追って説明します。
要件
- ガイド:Compose で型安全なナビゲーションに移行する :Jetpack Navigation 2 を使用して、Android アプリケーションを文字列ベースのナビゲーションから Jetpack Compose の型安全なナビゲーションに移行するための手順を順を追って説明します。
開発者向けドキュメント
- Navigation 3。基本、ナビゲーション状態の保存と管理、ナビゲーションコードのモジュール化、Scenes を使用したカスタムレイアウトの作成、遷移先間のアニメーション、遷移先へのロジックやラッパーの適用について、ドキュメントを検索して詳細を確認できます。
レシピ
一般的なパターンを紹介するコード例です。
基本的な API の使用方法
- 基本:最も基本的な API の使用方法を紹介します。
- 保存可能なバックスタック:永続的なバックスタックを使用した、基本的な API の使用方法を紹介します。
- Entry provider DSL:entryProvider DSL を使用した、基本的な API の使用方法を紹介します。
一般的な UI
- 一般的な UI:ボトムナビゲーションバーと複数のバックスタックを使う、一般的なナビゲーション UI パターンの実装方法を紹介します。ナビゲーションバーの各タブには、それぞれ独自のナビゲーション履歴があります。
ディープリンク
- 静的 URI:シンプルな静的 URI のディープリンクを処理する方法を紹介します。
- 引数付き URI:ディープリンクからパス引数とクエリ引数を解析する方法を紹介します。
- 合成バックスタック:合成バックスタックを使ってディープリンクを処理する方法を紹介します。
- カスタムマッチャー:カスタムのディープリンク照合ロジックを実装する方法を紹介します。
Scenes
組み込みの Scenes を使用する
- ダイアログ:ダイアログを作成する方法を紹介します。
カスタム Scenes を作成する
- BottomSheet:BottomSheet の遷移先を作成する方法を紹介します。
- リスト・詳細 Scene:Navigation 3 Scenes API を使って、アダプティブなリスト・詳細レイアウトを実装する方法を紹介します。
- 2 ペイン Scene:Navigation 3 Scenes API を使って、アダプティブな 2 ペインレイアウトを実装する方法を紹介します。
Material Adaptive
- Material のリスト・詳細:Material 3 Adaptive を使って、アダプティブなリスト・詳細レイアウトを実装する方法を紹介します。
- Material の補助ペイン:Material 3 Adaptive を使って、アダプティブな補助ペインレイアウトを実装する方法を紹介します。
アニメーション
- アニメーション:すべての遷移先および単一の遷移先について、デフォルトのアニメーションをオーバーライドする方法を紹介します。
- 条件付きトランジション:条件付きのトランジションアニメーションを実装する方法を紹介します。
共通の戻るスタックの動作
- 複数の戻るスタック:それぞれが独自の戻るスタックを持つ、複数のトップレベルルートを作成する方法を紹介します。トップレベルルートはナビゲーションバーに表示され、ユーザーはルートを切り替えられます。各トップレベルルートの状態は保持され、ナビゲーションの状態は設定変更やプロセスの終了後も維持されます。
条件付きナビゲーション
- 条件付きナビゲーション:条件が満たされたときに、別のナビゲーションフローに切り替えます。たとえば、認証や初回ユーザーのオンボーディングに使用できます。
ライフサイクル
- Lifecycle Owner:Navigation 3 で Lifecycle を使用し、監視する方法を紹介します。
アーキテクチャ
- ナビゲーションコードのモジュール化(Hilt):Hilt または Dagger を使った DI により、ナビゲーションコードを別々のモジュールに分割する方法を紹介します。
- ナビゲーションコードのモジュール化(Koin):Koin を使った DI により、ナビゲーションコードを別々のモジュールに分割する方法を紹介します。
ViewModel の使用
ナビゲーション引数の受け渡し
- 基本的な ViewModel:
viewModel()を使って構築したViewModelにナビゲーション引数を渡します。
結果の返却
- イベントとしての結果の返却:別の
NavEntryのコンテンツにイベントとして結果を返します。 - 状態としての結果の返却:
CompositionLocalに保存された状態として結果を返します。
コメント
Markdown 対応