rxAndroid操纵数据以获取List

时间:2017-02-09 11:45:28

标签: android rx-java reactive-programming rx-android

我需要在RecyclerView中显示游戏列表。 问题是数据结构。我有团队(团队的名称应该是列表中只有一张照片的标题),并且在每个团队阵列中的“游戏”数组中有更多Game对象。 我用Observable改装电话呼叫api:

strace

我从服务器获得的JSON如下所示: enter image description here 如何编辑响应以获取 RestManager.get() .api() .getLastGames(params...) .compose(Transformer.applyIO)) .subscribe(listener::LastGameDataReady)); 到订阅接口而不是总响应对象

2 个答案:

答案 0 :(得分:0)

  

如何编辑响应以获取订阅列表   接口而不是总ResponseObject

您可以使用map运算符,该任务将转换Observable的发出项

RestManager.get()
    .api()
    .getLastGames(params...)
    .compose(Transformer.applyIO))    
    .map(responseObj -> // extract and return your list) 
    .subscribe(listener::LastGameDataReady));

如果LastGameDataReady的唯一参数是地图运算符中返回的相同类型的List<>,您仍然可以使用::运算符

答案 1 :(得分:0)

如果您想从此JSON回复中获取concatMap,我建议您使用toList提取游戏列表,稍后RestManager.get() .api() .getLastGames(params...) .concatMap(Observable::from) .concatMap(team -> Observable.from(team.getGames())) .toList() .compose(Transformer.applyIO)) .subscribe(listener::LastGameDataReady)); 将其合并回来。

static