如何从多个json api获取数据

时间:2017-09-22 21:08:10

标签: java android kotlin

我有多个json api ex:api1,api2和api3 他们每个人都有不同的结构,  我想从这三个api中获取数据并将它们合并到一个回收站视图中,我搜索了这些主题但是无法获得任何有用的教程我已经使用改进来从仅仅一个api获取数据,如果我使用rxjava改装到做我想要的和如何。

1 个答案:

答案 0 :(得分:1)

我猜你正在寻找zip方法。它基本上需要许多可观察的东西,等待他们的物品 - 所有这些物品 - 到达然后合并它们。

所以你基本上可以在一个observable中进行每个API调用,无论它们返回什么,你都会得到它并随心所欲地做任何事情,以便准备它们被包含在你的recyclerview中,最后当整个操作成功时你将填写你的Recyclerview。

Observable obs1 = Observable.fromCallable(// Callable 1);
Observable obs2 = Observable.fromCallable(// Callable 2);
Observable obs3 = Observable.fromCallable(// Callable 3);

Observable.zip(obs1, obs2, obs3, (o1, o2, o3) -> // something)
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(o -> {
               // on success
        });