移行ガイド
- Navigation 2 から Navigation 3 への移行ガイド: Android アプリケーションを Navigation 2 から Navigation 3 に移行するためのステップごとのガイド。依存関係の更新、ルートの変更、状態管理、UI コンポーネントの置き換えについて説明します。
要件
- ガイド: Compose での型安全なナビゲーションへの移行: Jetpack Navigation 2 を使用して、文字列ベースのナビゲーションから Jetpack Compose の型安全なナビゲーションに Android アプリを移行するためのステップバイステップ ガイド。
デベロッパー ドキュメント
- *Navigation 3。基本、ナビゲーション状態の保存と管理、ナビゲーション コードのモジュール化、Scene を使用したカスタム レイアウトの作成、デスティネーション間のアニメーション、デスティネーションへのロジックまたはラッパーの適用について詳しくは、ドキュメントを検索してください。
レシピ
一般的なパターンを示すコード例。
基本的な API の使用方法
- 基本: 最も基本的な API の使用方法を示します。
- 保存可能なバックスタック: 永続的なバックスタックを使用した基本的な API の使用方法を示します。
- エントリ プロバイダ DSL: entryProvider DSL を使用した基本的な API の使用方法を示します。
共通 UI
- Common UI: ボトム ナビゲーション バーと複数のバックスタックを使用して、一般的なナビゲーション UI パターンを実装する方法を示します。ナビゲーション バーの各タブには、独自のナビゲーション履歴があります。
ディープリンク
- Basic: Android の Intent からナビゲーション キーにディープリンク URL を解析する方法を示します。
- 高度な方法: 合成バックスタックと正しい「上へ」ナビゲーション動作でディープリンクを処理する方法を示します。
シーン
組み込みのシーンを使用する
- Dialog: ダイアログの作成方法を示します。
カスタム シーンを作成する
- BottomSheet: BottomSheet のデスティネーションを作成する方法を示します。
- リストと詳細のシーン: Navigation 3 Scenes API を使用してアダプティブなリストと詳細のレイアウトを実装する方法を示します。
- 2 ペインの Scene: Navigation 3 Scenes API を使用してアダプティブ 2 ペイン レイアウトを実装する方法を示します。
Material Adaptive
- マテリアル リストと詳細: マテリアル 3 アダプティブを使用してアダプティブ リストと詳細レイアウトを実装する方法を示します。
- マテリアル補助ペイン: マテリアル 3 アダプティブを使用してアダプティブ補助ペイン レイアウトを実装する方法を示します。
アニメーション
- アニメーション: すべてのデスティネーションと単一のデスティネーションのデフォルトのアニメーションをオーバーライドする方法を示します。
一般的なバックスタックの動作
- 複数のバックスタック: それぞれ独自のバックスタックを持つ複数のトップレベル ルートを作成する方法を示します。最上位のルートはナビゲーション バーに表示され、ユーザーはそれらを切り替えることができます。状態は最上位のルートごとに保持され、ナビゲーションの状態は構成の変更やプロセスの終了後も保持されます。
条件付きナビゲーション
- 条件付きナビゲーション: 条件が満たされたときに別のナビゲーション フローに切り替えます。たとえば、認証や初回ユーザーのオンボーディングなどです。
アーキテクチャ
- モジュール化されたナビゲーション コード(Hilt): DI に Hilt または Dagger を使用して、ナビゲーション コードを個別のモジュールに分離する方法を示します。
- モジュール化されたナビゲーション コード(Koin): DI に Koin を使用してナビゲーション コードを個別のモジュールに分離する方法を示します。
ViewModel の操作
ナビゲーション引数を渡す
- 基本的な ViewModel: ナビゲーション引数が
viewModel()を使用して構築されたViewModelに渡されます
結果を返す
- 結果をイベントとして返す: 別の
NavEntryのコンテンツに結果をイベントとして返す - 結果を状態として返す:
CompositionLocalに保存された結果を状態として返す