LoginSignup
1
1

More than 1 year has passed since last update.

現役AndroidエンジニアがAndroid Kotlin Fundamentalsコードラボに挑戦!その3

Posted at

前回

Lesson 3: Navigation

03.1: Create a fragment

内容

  • クイズアプリの作成
    • フラグメントの追加

      

メモ

  • フラグメントをコンパイルするには、バインディングオブジェクトを作成し、フラグメントのビューを拡張する
  • アクティビティのレイアウトファイルに < fragment > 要素を追加する
  • 1つのアクティビティで複数のフラグメントを使用したり、1つのフラグメントを複数のアクティビティで使用したりできる

03.2: Define navigation paths

内容

  • クイズアプリの作成
    • ナビゲーションコンポーネントの追加
    • ナビゲーションホストフラグメントの使用
    • 条件付きナビゲーションの追加
      → クイズの正誤で遷移先を変える
    • バックキーの遷移先を指定
    • アクションバーに戻るボタン追加
    • アクションバーにオプションメニューの追加
    • ナビゲーションドロワーの追加
    • ハンバーガーボタンからナビゲーションドロワーを開く
    • 宿題:タイトル画面にルールボタンとバージョン情報ボタンを追加する
    • 宿題:ルール画面とバージョン情報画面にプレイボタンを追加、そこからの遷移でゲーム画面から戻ったときにタイトル画面を表示する

      
      
      
      
      
   

メモ

  • ナビゲーションホストフラグメントは自作せず、androidx.navigation.fragment.NavHostFragmentを使用する
  • アクションバーの戻るボタンは NavigationUI.setupActionBarWithNavController で追加できる
  • bindingさせたいViewのレイアウトファイルはlayoutタグで全体を囲む!

03.3: Start an external Activity

内容

  • クイズアプリの作成
    • ゲーム結果を共有する
      →NavDirectionを活用して引数を渡す
      →暗黙的インテントを活用して他のアプリを呼び出す

      

メモ

  • packageManagerを使って端末内のアプリを取得することができる!
  • フラグメント間でデータを渡す時はSafeArgsを使用するとエラーをキャッチできる

感想

その2までは割と知っていることも多かったが、
今回は使ったことのないものばかりでてきて難しかった。
使ったことのない機能をたくさんつかってアプリを作っていくのはおもしろかった!
クイズアプリの内容もAndroid開発に関することなので、動作テスト中にも勉強ができてよかった笑
個人的にnavigationのDesignをつくるときが結構楽しい↓
スクリーンショット 2021-08-27 8.31.07.png
今すぐ使いこなすのは難しそうだけど読めるようになったのは大きな成果だと思う!!
次はよくわからなくなりがちだけどとっても大事なライフサイクルのお勉強!
がんばるぞ〜!💪

かかった時間 約6時間

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1