结合Api数据和房间数据库Android



github链接

我正在尝试创建一个Android应用程序,在那里我可以显示加密货币组合,其中包含:加密货币名称、符号、当前价格、利润

现在,我在房间数据库中有加密货币的名称、id、符号和购买价格,我在API中有来自coingecko的当前价格,我可以使用加密货币id获得。

问题是,从回收商的角度来看,我如何将它们结合起来?

我想展示加密货币名称,房间数据库中的符号,以及API中的当前价格,并计算利润或损失。

使用RxJava可以获得结果并将其组合:

Observable.just(cryptoFromRoom)
.observeOn(Schedulers.io())
.flatMap({ crypto ->
getPriceFromApi(cryptoId) //returns another Observable<ApiResult> after calling the API
}, {
//this is executed after resolving the last observable emitted, so the result is ready.
id: Long, apiResult: ApiResult -> Pair(crypto , apiResult) 
})
.subscribe({ result ->
result.first //crypto 
result.second //apiResult
})

最新更新