Android 如何在RxJava中创建可观察对象列表?
我有一个API,它给了我一个ID列表。我需要使用这些ID发出另一个网络请求,以获取它们各自项目的详细信息。一旦我得到了所有的细节,我就需要把它们放在一个列表中 下面是一个例子。发出网络请求,获取ID列表,比如 一,二,三,四,五 现在我需要对这5个ID分别提出5个请求 然后,一旦我得到all的响应,我需要创建一个列表,用于填充RecyclerViewAndroid 如何在RxJava中创建可观察对象列表?,android,rx-java,rx-android,reactivex,Android,Rx Java,Rx Android,Reactivex,我有一个API,它给了我一个ID列表。我需要使用这些ID发出另一个网络请求,以获取它们各自项目的详细信息。一旦我得到了所有的细节,我就需要把它们放在一个列表中 下面是一个例子。发出网络请求,获取ID列表,比如 一,二,三,四,五 现在我需要对这5个ID分别提出5个请求 然后,一旦我得到all的响应,我需要创建一个列表,用于填充RecyclerView 如果需要更多信息,请告诉我。我不熟悉反应式编程。可观察链的结构大致如下: 初始网络请求 从结果中提取列表 不可数 concatmapanger可
如果需要更多信息,请告诉我。我不熟悉反应式编程。可观察链的结构大致如下:
- 初始网络请求
- 从结果中提取列表
- 不可数
- concatmapanger可观察链的结构大致如下:
- 初始网络请求
- 从结果中提取列表
- 不可数
- concatmapagenger伪代码:Observable.from(listOfIds).flatMap(返回请求(id)).toList()伪代码:Observable.from(listOfIds).flatMap(返回请求(id)).toList()如果您只想接收包含列表的1个发射:使用
Observable.just(1,2,3,4,5)代码>
如果您希望接收5个发射,每个发射包含一个数字:使用Observable.from(1,2,3,4,5)编码>如果您只想接收一个包含列表的发射:使用
可观察。仅(1、2、3、4、5)代码>
如果您希望接收5个发射,每个发射包含一个数字:使用Observable.from(1,2,3,4,5)代码>假设您有一个可观察的源:
你是这样写的:Observable<Integer> source;
source .flatMap( i -> Observable.fromCallable( id -> getLongFromIdViaNetwork( id ) ) ) .toList() .subscribeOn( backgroundScheduler ) .observeOn( foregroundScheduler ) .subscribe( listOfLongs -> {} );
其中
和backgroundScheduler
适合我们的环境。假设您有一个可观察的源:foreggroundscheduler
你是这样写的:Observable<Integer> source;
source .flatMap( i -> Observable.fromCallable( id -> getLongFromIdViaNetwork( id ) ) ) .toList() .subscribeOn( backgroundScheduler ) .observeOn( foregroundScheduler ) .subscribe( listOfLongs -> {} );
其中
和backgroundScheduler
适合我们的环境。结果列表应该包含什么?你能提供一些代码(数据类)吗?结果列表应该包含什么?你能提供一些代码(数据类)吗?foreggroundscheduler