phpのcurl_multiみたいなことがやりたくて調べました。
結論は、これだというのは見つからなかったので、うまいやりかたをご存知な方がいらっしゃいましたら教えていただければ幸いです。
やりたいこと
例えばですが、記事一覧取得APIを叩いたあとに、記事詳細取得APIを叩いて、条件に合う記事の詳細を複数取得したい。みたいなことがやりたいです。
思いつく方法
ざっとですが。
CountDownLatchで処理がすべて終わるのを待つ。
for文でAsyncTaskなどを繰り返しAPIを叩いて、都度、処理が終わったらcountDown()するを繰り返す感じです。
これが一般的だと勝手に思ってますが、処理を強制的に止めるので個人的にはあまり好きじゃないんです。
そもそもAPIを改修する。
これがスマートな気もしますが、外部のAPIだと難しいでしょうし、今回みたいな場合だと、詳細情報つきでレスポンスが返ってくるとなかなかの容量になったりします。
あきらめる。
自分で書いててよくわからないですが、情報の取得が終われば都度更新をかけてやるようにすれば、Latchを使わなくてもいけることがあるかもしれません。
おわりに
調べきれませんでした、Rxを使えば簡単にできるよとかあるかもしれません。
RxAndroidというのもあるので、そのあたりしっかり理解したいと思います。