Google Maps Platform Android SDK は、非同期操作を管理するコードを記述するのに役立つ、リアクティブ プログラミングの拡張機能をサポートしています。
Google Maps Platform を使ってリアクティブでレスポンシブなマッピング アプリケーションを構築する
ユーザーのタッチイベントから、ネットワーク呼び出し完了の待機やプッシュ通知の受け取りに至るまで、モバイルアプリでは非同期イベントはあらゆるタイミングで発生する可能性があります。こうしたイベントを考慮しながら他の非同期イベントと組み合わせてコードを記述するのは、アプリ デベロッパーにとって手間のかかる作業です。リアクティブ プログラミングを使えば個々のイベントのコールバックを渡す必要がなくなるため、非同期イベントを扱うプロセスを簡素化できます。リアクティブ プログラミングでは、イベントはストリーミングとしてモデル化され、アイテムが 1 つずつ処理されます。
リアクティブなコード記述には、Kotlin Flows と RxJava の 2 つのライブラリを使用できます。次の 2 つの動画で、それぞれのライブラリの使い方を説明します。
Kotlin を使ってリアクティブでレスポンシブなアプリケーションを作成する
Kotlin でコルーチンと Flow を使用する場合は、KTX ライブラリを使えば Kotlin Flow でイベントを受け取ることができます。Maps KTX ライブラリには Kotlin Flow オブジェクトを返す拡張機能が含まれているため、リアクティブにイベントをリッスンできます。Kotlin Flows では、アクティビティを一時停止して 1 個の値を返すのではなく、時間の経過とともに複数の値を 1 個ずつ返すことができます。例えばカメラのように時間の経過とともに変化するイベントも、Flow を使って受け取ることができます。アプリで Kotlin Flow を使うには、build.gradle ファイルの依存関係セクションに Maps KTX ライブラリを追加します。
RxJava で Android 向けにリアクティブな地図を作る
一般に広く使用されている Android ライブラリ RxJava を Google Maps Platform の SDK に統合します。RxJava はリアクティブ拡張機能を Java で実行するもので、観測可能なシーケンスを使って非同期かつイベントベースのプログラムを記述するためのライブラリです。RxJava を使えば、連鎖的に発生する変化をコールバック ベースの非同期コードで記述できます。この仕組みと、RxJava のその他の使い方を 3 つ目の動画で説明します。
今回の 3 部構成の YouTube 動画シリーズでリアクティブ プログラミングの考え方について理解を深め、レスポンシブでリアクティブなモバイルアプリの作成にお役立ていただければ幸いです。役に立つ動画のアイデアがあれば、私たちの動画のコメント欄に投稿してください(どの動画でもかまいません)。最新情報、チュートリアル、お客様事例などをお届けする Google Maps Platform の YouTube チャンネルに、ぜひご登録ください。
Google Maps Platform に関する詳しい情報はこちらをご覧ください。ご質問やフィードバックはページ右上の「お問い合わせ」より承っております。