KotlinでRetrofitを使ったAPI通信の基本構成をマスターしよう!初心者向けにやさしく解説
生徒
「先生、KotlinでAPI通信をもっと簡単にする方法ってあるんですか?」
先生
「ありますよ。Retrofitという便利なライブラリを使うと、ネットワーク通信がぐっと簡単になります。」
生徒
「ライブラリってなんですか? そしてRetrofitってどう使うんですか?」
先生
「ライブラリというのは、よく使う機能をまとめた便利セットのことです。Retrofitを使えば、APIとのやり取りがとてもシンプルになるので、一緒に見ていきましょう!」
1. Retrofitってなに?
Retrofit(レトロフィット)は、KotlinやJavaでAPI通信を簡単にするための人気ライブラリです。普通のネットワーク通信は手順が多くて大変ですが、Retrofitを使うと数行のコードでAPIリクエストができます。
つまり、面倒な作業を代わりにやってくれる「便利屋さん」みたいな存在です。
2. ライブラリって何?どうやって使うの?
ライブラリとは、よく使う機能がまとめられた「道具箱」のようなものです。Kotlinのプロジェクトで使うには、Gradleというビルドツールに設定を追加します。
たとえば、Retrofitを使うには以下のような記述をbuild.gradle.ktsファイルに追加します。
dependencies {
implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("com.squareup.retrofit2:converter-gson:2.9.0")
}
3. Retrofitの基本構成を理解しよう
RetrofitでAPI通信を行うには、以下の3つのステップを踏みます。
- ① APIのルールを定義するインターフェースを作成
- ② 通信の設定をするRetrofitインスタンスを作成
- ③ 実際に通信を行う
それぞれをわかりやすく分解して説明していきます。
4. APIインターフェースを作成する
まず、通信のルールを定義するためにインターフェースというものを作成します。ここでは「https://jsonplaceholder.typicode.com/posts/1」というダミーのAPIを使って、記事データを取得してみます。
import retrofit2.Call
import retrofit2.http.GET
interface ApiService {
@GET("posts/1")
fun getPost(): Call<Post>
}
5. データクラスを作成しよう
APIから返ってくるデータを受け取るためには、Kotlinのdata classを使います。JSONという形式で届くデータに合わせて、クラスを用意しておきましょう。
data class Post(
val userId: Int,
val id: Int,
val title: String,
val body: String
)
6. Retrofitインスタンスを作成する
次に、実際に通信するためのRetrofit本体を作ります。ベースとなるURLや、データの形式(Gson)を指定します。
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
val retrofit = Retrofit.Builder()
.baseUrl("https://jsonplaceholder.typicode.com/")
.addConverterFactory(GsonConverterFactory.create())
.build()
val service = retrofit.create(ApiService::class.java)
7. 通信を実行して結果を取得する
最後に、通信を実行してAPIからデータを取得します。ここでは、シンプルに同期的な通信方法(enqueueを使わない)を紹介します。
val response = service.getPost().execute()
if (response.isSuccessful) {
val post = response.body()
println("タイトル: ${post?.title}")
println("内容: ${post?.body}")
} else {
println("エラーが発生しました。コード: ${response.code()}")
}
8. 実行結果のイメージ
このコードを実行すると、APIから取得した記事のタイトルと内容が表示されます。
タイトル: sunt aut facere repellat provident occaecati
内容: quia et suscipit...
9. Retrofitを使うメリット
Retrofitを使うことで、KotlinでのAPI通信が非常に簡単になります。通信のエラー処理や、データの変換も自動でやってくれるので、初心者にも優しい設計になっています。
特に、インターフェースに注釈(アノテーション)をつけるだけでHTTPの種類(GETやPOSTなど)を指定できる点が便利です。
Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。
基礎からわかるKotlinをAmazonで見る※ Amazon広告リンク
10. 注意点:ネットワーク通信は時間がかかる
ネットワーク通信は、相手のサーバーからの応答を待つ必要があるため、時間がかかる場合があります。そのため、実際のアプリでは通信処理を別スレッドで行うのが基本です(この部分は今後の学習で扱います)。
【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分
「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。
本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。
具体的な体験内容と環境
【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。
【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。
この60分で得られる3つの体験
プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。
「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。
Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。
※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。
Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験