
以前紹介したWebAPIをAndroidアプリから呼び出すアプリをKotlin1.3/Android Studio3.3環境で作ってみます
Contants [表示]
アプリの概要
今回はKotlin1.3/Android Studio3.3を使って、WebAPIの呼び出しアプリの作り方を紹介します。
サンプルも数多く紹介されていますが、本記事では可能な限りシンプルな構成で紹介したいと思います。
mBaasの普及もあってバックエンドに関するコーディングは楽になりました。
しかしながら既存システムやアプリケーションとのデータ連動に関しては、WebAPIの利用した接続方法は有効な手段です。
下記に構成やポイントを紹介していきます。
システム構成
下記のイメージ図のようなAndroid用アプリより、以前作成したWeb RestAPIを呼び出します。

呼び出し元となるWebAPIに関する記事はこちら

紹介動画
今回はブログで解説しているアプリをYoutubeで紹介してます。
前提条件
Kotlin1.3
Android Studio 3.3 for MAC
OkHttp3 3.13
minimal-json 0.9.5
Kotlin coroutines 1.0.1
プロジェクト解説
プロジェクトのポイント
- パーミッション・ライブラリの登録
- ソース解説
パーミッション・ライブラリの登録
WebAPIの呼び出し用パーミッションと、今回利用している各種ライブラリの読み込みを行います。
パーミッションの設定
AndroidManifest.xmlにパーミッションの設定をする
ライブラリ読み込み
build.gradle(Module.app)へ追加ライブラリを読み込みます。
- okhttp3:http通信ライブラリ
- minimal-json:jsonパースライブラリ
- kotlinx-coroutines-(xx):Kotlin coroutines用ライブラリ2種
ソースのポイント
コーディングの主なポイントは2つ。
- 非同期イベントの追加
- OkHttpClientクラスの実装
非同期イベントの追加
MainActivity.ktのonCreateイベントで、「検索」ボタンのクリックイベントを定義します。
OkHttpClientクラスの実装
Http用クラスを生成し、OkHttpClientのaddHeaderメソッドに、WebAPI仕様のAPIキーをHeaderとして追加します。
ソース全文
上記ポイントを踏まえて、MainActivity.ktファイルの全ソースは下記の通りです。
参考サイト
作成にあたり、下記の記事を参考にさせて頂きました。
AndroidでKotlinのcoroutine(Async, Await)を使ってサクッとHTTP通信(非同期処理)を行う@@jonghyo
まとめ
Kotlinでも各種ライブラリを使用することでWebAPIの呼び出しもシンプルにコーディングすることが可能になりました。
Android系アプリ開発は、iOSアプリに比べてフレームワークの量も多いようです。
ブログ系情報などをうまく活用しながら選定していきたいものです。
WebAPIでのマイクロ資産は今後の戦略やサービス更新にも役立ちます。
既存システムとのデータ連動に、他社製APIやサービスとの結合にご利用下さい。