2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Android】Retrofitについて

Posted at

【Android】Retrofitについて

Retrofitとは

Retrofitとは、Http通信をする際に使われるライブラリ。
webApiを叩くとかで、けっこう使うのでは

今回は、構成とかは考えず、とりあえず最低限の動くという状態でやってます。
叩くAPIは、QiitaのWebApiです。

目次

  1. build.gradleとManifestへの記述
  2. Interfaceの作成
  3. レスポンスのmodel作成
  4. 実行

1. build.gradleとManifestへの記述

  • 依存関係の記述
build.gradle
    // retrofit
    implementation "com.squareup.retrofit2:retrofit:2.5.0"
    // 以下は、gsonというjsonをjavaで扱えるように変換してくれるライブラリ
    implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
  • Manifestへの記述
    • 通信を許可するパーミッションを記述
AndroidManifest.xml
    <uses-permission android:name="android.permission.INTERNET"/>

2. Interfaceの作成

ApiService.kt
interface ApiService {
  // 記事をとってくるメソッドです。
  @GET("/api/v2/items") // => GETのリクエスト
  fun getArticle(): Call<List<Article>>
}

3. レスポンスのmodel作成

  • 先ほど、Interfaceで定義したリクエストに対するレスポンスに対応するmodelクラスを作成します。
Article.kt
data class Article (
    val id: String,
    val title: String,
    val user: User
)

data class User (
    val id: String,
)

4. 実行

  • 実行は、Activityで実行してます。
MainActivity.kt
class MainActivity : AppCompatActivity() {

    val TAG = "MainActivity"

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        val binding: ActivityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main)

        val retrofit = Retrofit.Builder()
            .baseUrl("https://qiita.com")
            .addConverterFactory(GsonConverterFactory.create()) // ここで、jsonをjavaで扱えるようにするGsonを使ってます。
            .build()

        // サービスを実行するクライアントの作成
        val articleClient = retrofit.create(ApiService::class.java)

        // 通信は非同期でやらないといけないので、今回はThreadで実行
         Thread().run {
           // とりあえず、レスポンスは返ってきます。あとは煮るなり焼くなり
           articleClient.getArticle()
         }
}

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?