Android

【Kotlin + Retrofit】API通信してみる

投稿日:

はじめに

こんにちは。miyagawaです。つい最近、ポケモン剣盾を衝動買いしてしました。BW2から全く買っていなかったので、3Dのマップはとても新鮮です。
今回はKotlin、Retrofitを使用してAPI通信の処理を実装したいと思います。
使用するAPIはpokeapiです。
ポケモンのいろいろなデータをまとめられているので、このデータを用いて図鑑番号検索アプリを作ってみたいと思います。

準備

新しくプロジェクトを作成し、build.gradle(app)に下記を追加します。
最新版の2.7.1(2020年1月時点)を導入します。

上記の追加が完了したら、syncを行います。

また、HTTP通信を許容するため、AndroidManifest.xmlに下記を追記します。

レイアウトファイルの作成

準備ができたら、次はレイアウトファイルの作成を行います。
activity_main.xmlを下記のように設定します。

list_item_pokemon.xmlを作成します。

APIを実装する

レイアウトファイルを整えた後、PokemonInfo.ktというデータクラスファイルを作成します。

pokemonInfoメソッドを呼び出すことによって番号を検索するようにしています。
@GETはAPIGETを示しており、()内のものは後ほど登場するBaseURLの後に続くエンドポイントを記載します。
今回の場合はポケモンの図鑑番号を検索したいので、idを渡し、それをパラメーターに含めるようにしています。

PokemonListAdapter.ktファイルを作成します。

RecyclerView、Glideの使い方に関しては別の記事にまとめているので、是非みてみてください。
【Kotlin】RecyclerViewAdapterを使ってリスト表示
【Kotlin】Glideで角丸の画像を作成する

MainActivity.ktファイルを下記のように調整します。

上記のコードを実装すると、下の画像のようにポケモンを図鑑番号で検索することが可能になります。


かわいいですね!

さいごに

今回はRetrofitを使用してポケモンを検索するアプリを作ってみました。今後もRetrofitは使うと思うので、備忘録としてよかったのではないかなと思います。

おすすめ書籍

Kotlinイン・アクション Head Firstオブジェクト指向分析設計 ―頭とからだで覚えるオブジェクト指向の基本

blog-page_footer_336




blog-page_footer_336




-Android

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

Android Studioでエラーログを詳細表示する

1 はじめに2 初期設定でのビルドエラーメッセージ3 詳細なビルドエラーメッセージを出力4 おまけ5 さいごに6 おすすめ書籍 はじめに こんにちは。Android開発を久しぶりにやっているのですが、 ...

Flutter開発のはじめかた 開発環境セットアップ〜Widtgetの解説

1 はじめに2 セットアップ2.1 Flutterのインストール2.1.1 Android環境のセットアップ2.1.2 Xcodeのインストール2.1.3 IDEのセットアップ(Android Stu ...

Kotlin MPAndroidChartライブラリを使い移動平均線を描画してみる。

1 はじめに2 MPAndroidChartライブラリについて2.1 ライブラリの導入2.2 描画の準備3 折れ線グラフを描画する3.1 LineChartの設定3.2 LineChart用のデータ作 ...

Kotlinのスコープ関数を調べて見た

1 はじめに2 スコープ関数とは3 スコープ関数の種類について4 with関数4.1 使い方4.1.1 withを使わない場合4.1.2 withを使う場合4.2 所感5 apply関数5.1 使い方 ...

【kotlin】CameraXでAndroidカメラを実装してみた

1 はじめに2 概要3 使用前の準備4 ViewFinderLayoutを実装する5 Camera Permissionのリクエスト6 カメラ撮影機能を実装する6.1 Previewクラスの実装6.2 ...

フォロー

follow us in feedly

blog-page_side_responsive

2020年1月
 1234
567891011
12131415161718
19202122232425
262728293031 

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。