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マテリアル】Ripple Effect

1 はじめに2 Ripple Effectとは3 設定方法4 カスタマイズ5 さいごに はじめに こんにちは、ソニーから新Aiboが発表されましたね。個人的には欲しいと思っているのですが、最近Goog ...

Kotlinをはじめよう〜Kotlin基本文法〜

1 はじめに2 事前準備3 基本データ型4 変数5 条件分岐 if式6 条件分岐 when式7 繰り返し制御 while文8 繰り返し制御 for文9 さいごに10 おすすめ書籍 はじめに こんにちは ...

Kotlinをはじめよう〜コレクションなど〜

1 はじめに2 配列3 レンジ4 コレクション(リスト)5 コレクション(セット)6 コレクション(マップ)7 コレクションまとめ8 さいごに9 おすすめ書籍 はじめに 前回のKotlin基本文法編に ...

AndroidでWebViewを使用する時に押さえておきたいポイント5選

1 はじめに2 JSのAlert, Confirm, Promptが表示されない!3 読み込み中の進捗を表示する4 UserAgent5 クリアテキスト設定5.1 クリアテキストを無効にする5.2 H ...

KotlinでAndroidの双方向DataBindingを利用する

1 はじめに2 MVVMアーキテクチャ2.1 Model2.2 View2.3 ViewModel3 KotlinでAndroid DataBindingを設定4 説明用のサンプルアプリについて5 a ...

フォロー

follow us in feedly

blog-page_side_responsive

2020年1月
« 12月 2月 »
 1234
567891011
12131415161718
19202122232425
262728293031 

アプリ情報

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