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?

More than 5 years have passed since last update.

Androidで並列リクエストがやりたい

Posted at

phpのcurl_multiみたいなことがやりたくて調べました。

結論は、これだというのは見つからなかったので、うまいやりかたをご存知な方がいらっしゃいましたら教えていただければ幸いです。

やりたいこと

例えばですが、記事一覧取得APIを叩いたあとに、記事詳細取得APIを叩いて、条件に合う記事の詳細を複数取得したい。みたいなことがやりたいです。

思いつく方法

ざっとですが。

CountDownLatchで処理がすべて終わるのを待つ。

for文でAsyncTaskなどを繰り返しAPIを叩いて、都度、処理が終わったらcountDown()するを繰り返す感じです。
これが一般的だと勝手に思ってますが、処理を強制的に止めるので個人的にはあまり好きじゃないんです。

そもそもAPIを改修する。

これがスマートな気もしますが、外部のAPIだと難しいでしょうし、今回みたいな場合だと、詳細情報つきでレスポンスが返ってくるとなかなかの容量になったりします。

あきらめる。

自分で書いててよくわからないですが、情報の取得が終われば都度更新をかけてやるようにすれば、Latchを使わなくてもいけることがあるかもしれません。

おわりに

調べきれませんでした、Rxを使えば簡単にできるよとかあるかもしれません。
RxAndroidというのもあるので、そのあたりしっかり理解したいと思います。

0
0
2

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?