Android Kotlin基礎講座 03.3: 外部のアクティビティを起動する

まとめ

Safe Args:

  • あるフラグメントから別のフラグメントにデータを渡す際にミッシングキーや型不一致などによって起こるエラーをキャッチするためにはSafe ArgsというGradleプラグインを用います。
  • アプリのそれぞれのフラグメント用にSafe Argsプラグインは対応するNavDirectionクラスを生成します。フラグメントのコードにNavDirectionクラスを追加することで、フラグメント間で引数をやり取りできるようになります。
  • NavDirectionクラスはアプリの全てのアクションの画面遷移を表します。

Implicit intents:

  • implicit intentはアプリが他のアプリに対して要求するアクションを宣言しています。(カメラアプリやメールアプリ等)
  • 複数のAndroidアプリがあるimplicit intentを扱える場合、Androidはユーザーに選択肢を表示します。例えば、AndroidTriviaアプリでユーザーがシェアアイコンをタップした場合、ユーザーはゲーム結果を共有するために使用するアプリを選択することができます。
  • intentをビルドするにはACTION_SENDなどのアクションを宣言します。
  • intentをビルドするために複数のIntent()コンストラクタが利用できます。

共有機能:

  • ゲームクリアを友人に共有したい場合などは、IntentアクションはIntent_ACTION_SENDになります。
  • フラグメントにオプションメニューを追加するにはsetHasOptionsMenu()メソッドにtrueを引数として渡し、フラグメントのコードに追加します。
  • フラグメントコードの中でonCreateOptionsMenu()メソッドをオーバーライドしてメニューをインフレートします。
  • onOptionsItemSelected()をオーバーライドして、Intentを扱える別のアプリに送信するためにstartActivity()を使えるようにします。

ユーザーがメニューアイテムをタップした際、intentが発生し、ユーザーにはSENDアクションの選択肢が表示されます。

お疲れさまでした。次の講座は 4.1 ライフサイクルとログ情報についてです。

おすすめ書籍

Kotlinの文法をまず学びたい!という方には以下の書籍がおすすめです。Kotlinは日本語書籍がまだ豊富とは言えない状況ですが、細かく解説されており、Kotlin入門者のかたでもつまずくことなく学習できると思います。

[itemlink post_id=”1743″]

実際にアプリを作りながら覚えていきたい!という方には以下もお勧めです。はじめに上の書籍で文法をさらっと学んでから取り組むのがお勧めです。

[itemlink post_id=”1745″]