0
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?

【Android】Retrofit2使用時の戻り値の比較 - Call vs Response

Last updated at Posted at 2024-05-12

Retrofit2の戻り値

戻り値の型として、以下の2つを想定し比較する

  • Call<T>
  • Response<T>

APIの実行

Call<T>を使用する場合

APIの実行はCall<T>クラスの以下のメソッドを使用することになる

  • Call#execute()
    • 非同期処理
  • Call#enqueue()
    • 同期処理

Response<T>を使用する場合

APIの実行は、APIの実行メソッドを呼び出すだけ

  • APIの実行メソッドをsuspendメソッドにすることで非同期処理になる

APIの結果の受け取り

  • Call#excecute()を使用
    • Call#excecute()の戻り値であるResponseから行う
  • Call#enqueue()を使用
    • #enqueue()の引数Callbackのcallbackメソッドから行う
  • Response<T>を使用
    • 戻り値であるResponseから行う

結論

  • Response<T>を使用する
  • APIの実行メソッドをsuspendメソッドする
    • 非同期処理にし、スレッドをブロックしなくて済む

参考

0
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
0
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?