我有一个文章的ArrayList,其中每篇文章都包含一个图片网址。
我还有函数downloadImage(url),它可以将图像从网址下载并保存到设备中。
现在我想为每篇文章下载所有图像(每次下载其自己的线程?)并在下载所有图像时继续操作。
我怎么能用RX做到这一点?
谢谢!
编辑: 感谢Dave的回答。它做了诀窍,但有一件事我必须纠正:如果你有一个不可迭代的对象(就像我的情况下的文章)你需要使用Observable.just()而不是Observable.from()。
Observable
.from(articles)
.flatMap(article ->
Observable
.just(article)
.doOnNext(a -> downloadImage(a.imageUrl))
.subscribeOn(Schedulers.io())
)
.doOnError(t -> logError(t))
.subscribe();
答案 0 :(得分:3)
尝试使用此单独的帖子下载每篇文章图片网址:
Observable
.from(articles)
.flatMap(article ->
Observable
.from(article)
.doOnNext(a -> downloadImage(a.imageUrl))
.subscribeOn(Schedulers.io())
)
.doOnError(t -> logError(t))
.subscribe();