我正在尝试使用 RxAndroid。我有我的同步适配器查询服务 A 以获取列表页面(大小 n)。对于页面中的每个项目,我必须提出一个生成另一个行(大小 m)的请求。也就是说,对于 Pages 中的每个项目,都会有 m 行。我想将所有 n 行合并到 1 个大小为 m*n 的列表中并保存到 db 中。
Observable.create(new Observable.OnSubscribe<Page>(){
@Override
public void call(Subscriber<? super Page> subscriber) {
ArrayList<Page> pages = Utility.getPagesFromServer();
for (Page page : pages) {
subscriber.onNext(page);
}
subscriber.onCompleted();
}
}).map(new Func1<Page, JSONResponse>() {
@Override
public JSONResponse call(Page page) {
return Utility.getJSONObjectContainingLines(page);
}
}).map(new Func1<JSONResponse, ArrayList<Line>>() {
@Override
public ArrayList<Line> call(JSONResponse jsonResponse) {
return getLines(jsonResponse.getJSONObject());
}
})
我从服务器获取页面,然后从服务器映射并获取每个页面的行,然后解析 JSON 并获取行的 arrayList。我不确定如何从这里开始。至于现在我想在每一行而不是在每个 ArrayList 上进行迭代。