365連休

にわかのandroidとかの開発メモ。

Navigationの意訳

developer.android.com

 

 

ナビゲーションとは、ユーザがアプリ上で移動または戻る操作を指す。 Android Jetpachのナビゲーションコンポーネントは、単純なボタンクリックではなく、アプリバーやナビゲーションドロワーなどの複雑なナビゲーションの実装を提供する。 ナビゲーションコンポーネントは、確立された原則(En 意訳)を守ることで、一貫性のある予測可能なユーザエクスペリエンスを保証する。

 

ナビゲーションコンポーネントは次の3つのキーパーツで構成される。

  • ナビゲーショングラフ:全てのナビゲーション関連情報を含む単体のXMLリソース。宛先と呼ばれるアプリ内の全ての各コンテンツ領域が含まれ、ユーザが通り抜ける経路と同様である。
  • NavHost:ナビゲーショングラフから宛先を表示する空のコンテナ。ナビゲーションコンポーネントにはNavHostの実装した既定のNavHostFragment(Reference)が定義され、それはフラグメントに宛先を表示する。
  • NavController:NavHost内のナビゲーションを管理するオブジェクト。NavControllerは、ユーザがアプリ全体を移動するにつれて、宛先コンテンツの切り替えを調整する。

 

アプリ内を移動する場合は、ナビゲーショングラフ または 特定の宛先をNavControllerへ伝える。NavControllerが適切な宛先をNavHostに表示する。

 

ナビゲーションコンポーネントには他にも利点がある。

  • フラグメントトランザクションの処理。
  • 既定の"アップ"・"バック"操作の処理。
  • 標準化されたアニメーションと遷移のリソースの提供。
  • ディープリンクの実装と処理。
  • 最小限の作業でナビゲーションUIパターン(ナビゲーションドロワーと下部ナビゲーション)を利用できる。
  • Safe ArgsEn - Gradleプラグインは宛先間の遷移やデータの受け渡しの安全性を提供する。
  • ViewModelのサポート - ViewModelをナビゲーショングラフにスコープ設定して、グラフの宛先間でUI関連データを共有できる。

 

さらに、Android StudioのNavigation Editorナビゲーションエディタを使用してナビゲーショングラフを表示・編集することができる。

 

ヒント: ナビゲーションエディタはAndroid Studio3.3以降に含まれている。

 

Next Steps

ナビゲーションコンポーネントに関する詳しいドキュメントとリソースの関係については次を参照すること。

 

Getting started

 

Further topics
  • Principles of Navigation ナビゲーションの原則 En 意訳
  • Design for different form factors 異なるフォームファクターの設計 En
  • Design navigation graphs ナビゲーショングラフのデザイン En
  • Nested graphs ネストされたグラフ En
  • Global actions グローバルアクション En
  • Conditional navigation 条件付きナビゲーション En
  • Pass data between destinations 宛先へデータを渡す En
  • Create a deep link for a destination 宛先のディープリンクを作成する En
  • Animate transitions between destinations 遷移をアニメーションする En
  • Update UI components with NavigationUI ナビゲーションUIを使用してUIコンポーネントを更新する En
  • Create swipe views with tabs タブを使用してスワイプビューを作成する En
  • Interact programmatically with the Navigation component プログラムによる対話 En
  • Test navigation ナビゲーションのテスト En
  • Add new destination types 新しい宛先タイプの追加 En
  • Provide custom back navigation カスタムバックナビゲーションを提供する("戻る"を制御する?) En
  • Migrate to the Navigation component ナビゲーションコンポーネントへ移行する En
Samples
Codelabs
  • Navigation codelab ナビゲーション/コードラボ codelabs
Blog posts
  • LiveData with SnackBar, Navigation and other events (the SingleLiveEvent case  スナックバー、ナビゲーション、その他のイベントとライブデータ(シングルライブイベントの場合) En
Videos

 

 

※上記はhttps://developer.android.com/guide/navigation意訳である

Android開発者向けドキュメントを意訳してみる。 - 365連休

意訳元https://developer.android.com/ライセンス解釈
ソースコードから抽出されたドキュメントやコードはAndroid Open Source Projectの優先ライセンスであるApache 2.0 licenseが適用され、それ以外のコンテンツはCC BY 2.5が適用されている。
よって、ページ全体の意訳についてはCC BY 2.5における翻案行為、ページ内のコード転載についてはApache 2.0 licenseにおける頒布行為にあたると解釈している。