Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
rxAndroid操作数据以获取列表_Android_Rx Java_Reactive Programming_Rx Android - Fatal编程技术网

rxAndroid操作数据以获取列表

rxAndroid操作数据以获取列表,android,rx-java,reactive-programming,rx-android,Android,Rx Java,Reactive Programming,Rx Android,我需要在RecyclerView中显示游戏列表。 问题是数据结构。我有团队(团队名称应该是列表中的一个标题,其中只包含一张照片),在它下面是每个团队数组中“游戏”数组中的更多游戏对象。 我使用可观察的改装调用调用api: RestManager.get() .api() .getLastGames(params...) .compose(Transformer.applyIO)) .subscribe(listener::LastGa

我需要在RecyclerView中显示游戏列表。 问题是数据结构。我有团队(团队名称应该是列表中的一个标题,其中只包含一张照片),在它下面是每个团队数组中“游戏”数组中的更多游戏对象。 我使用可观察的改装调用调用api:

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

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

您可以使用操作符来实现这一点,该任务是转换
可观察的

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

如果
LastGameDataReady
的唯一参数是map操作符中返回的相同类型的
列表
,您仍然可以使用
::
操作符

如果您想从这个JSON响应中获取
列表
,我建议您使用
concatMap
提取游戏列表,然后使用
toList
将它们合并回来

RestManager.get()
        .api()
        .getLastGames(params...)
        .concatMap(Observable::from)
        .concatMap(team -> Observable.from(team.getGames()))
        .toList()
        .compose(Transformer.applyIO))      
.subscribe(listener::LastGameDataReady));