Arc*_*dio 21 java android retrofit
使用同步和异步调用时,我对Retrofit有了扎实的把握.但是,在创建一些复杂的任务时遇到了一个小问题,我必须:
我读到了这个问题,我意识到RxJava可以解决我的问题.但坦率地说,我发现到目前为止理解整个过程真的很难.
如果我读一些正确的例子以便沉浸在RxJava/RxAndroid问题中,那将是很棒的.
ffl*_*dro 13
通过此示例,您可以获取ID列表,将其划分为单个可观察对象,为每个单独的ID调用服务,并获得n每个getDetails响应的通知时间.
service.getIds()
.flatMap(ids -> Observable.from(ids))
.map(id -> service.getDetails(id))
.subscribe(detailed -> updateUi(detailed));
Run Code Online (Sandbox Code Playgroud)
您可以使用该Observable.zip函数等待几个并行调用,但我不知道您是否可以在可变大小的调用中使用它.
看看这个例子:
对Observable的改造支持还可以轻松地将多个REST调用组合在一起.例如,假设我们有一个获取照片的调用,另一个获取元数据.我们可以将结果压缩在一起:
Observable.zip(
service.getUserPhoto(id),
service.getPhotoMetadata(id),
(photo, metadata) -> createPhotoWithData(photo, metadata))
.subscribe(photoWithData -> showPhoto(photoWithData));
Run Code Online (Sandbox Code Playgroud)
看来您真正需要的是有关如何开始使用 RxJava 的信息或示例,因此我建议您看一下 Dan Lew 撰写的这一系列优秀文章: http: //blog.danlew.net /2014/09/15/grokking-rxjava-part-1/
本系列应该包含足够的材料,让您很好地了解如何实现您的功能。