Android Kotlin基礎講座 08.1:インターネットからデータを取得する
目次
まとめ
RESTウェブサービス
- ウェブサービスとはアプリがリクエストするとデータを取得できるインターネット上のサービスのことです。
- 一般的なウェブサービスはRESTアーキテクチャを使用しています。RESTアーキテクチャを提供しているウェブサービスはRESTfulサービスとして知られています。RESTfulウェブサービスは標準ウェブコンポーネントとプロトコルを使って構築されています。
- URIという標準化された方法でRESTウェブサービスにリクエストを送ることができます。
- ウェブサービスを利用するためには、ネットワーク接続を構築し、ウェブサービスと通信しなければなりません。その後、アプリ内で結果データを受け取り、アプリが使える形にパースします。
- RetrofitライブラリはアプリがRESTウェブサービスにリクエストを送信できるようにするためのクライアントライブラリです。
- コンバーターを使ってウェブサービスに送ったデータまたはウェブサービスから取得したデータを用いてRetrofitが何をすべきかを伝えます。例として、ScalarsConverterはウェブサービスデータをStringや別のプリミティブ型として扱います。
- アプリがインターネットに接続できるようにするためには、”android.permission.INTERNET”パーミッションをAndroidマニフェストに追加します。
JSONパース
- ウェブサービスから取得した結果はJSONフォーマットであることが多いです。JSONとは構造化されたデータを表す一般的な交換形式です。
- JSONオブジェクトはキーと値がペアになったコレクションです。このコレクションはディクショナリ、ハッシュマップ、連想配列などと呼ばれることもあります。
- JSONオブジェクトのコレクションはJSON配列です。今回はウェブサービスからの結果としてJSON配列を取得しました。
- キーと値のペアのうち、キーはクォーテーションで囲まれています。値は数値かstringです。
stringもまたクォーテーションで囲まれています。 - MoshiライブラリはJSON stringをKotlinオブジェクトに変換してくれるAndroid JSONパーサーです。
RetrofitはMoshiと連動して機能するコンバーターを持っています。 - MoshiはJSONのキーと同じ名前を持つデータオブジェクトのプロパティを照合します。
- キーに対して、別のプロパティ名を使いたい場合は、そのプロパティにJSONのキー名を使った@Jsonアノテーションを付けます。
お疲れさまでした。次の講座は 8.2 インターネットから画像をロードし表示するです。
おすすめ書籍
Kotlinの文法をまず学びたい!という方には以下の書籍がおすすめです。Kotlinは日本語書籍がまだ豊富とは言えない状況ですが、細かく解説されており、Kotlin入門者のかたでもつまずくことなく学習できると思います。
[itemlink post_id=”1743″]実際にアプリを作りながら覚えていきたい!という方には以下もお勧めです。はじめに上の書籍で文法をさらっと学んでから取り組むのがお勧めです。
[itemlink post_id=”1745″]