使用RxJava / Android预取网络数据

时间:2015-09-30 14:55:03

标签: android rx-java

我目前正在创建一个Android事件应用程序,该应用程序使用RxJava用Observable.create()包装旧的网络层和缓存设置。我目前难以理解如何处理预取数据。最初,我显示一个事件列表,然后打开一个EventDetail Activity,它将获取给定事件的内容。我想预取一些事件的内容,但如果在预取返回和缓存之前选择了事件,最终会进行冗余网络调用。有没有一种方法可以使Observables / subscriptions在Activity开关上保持活动状态?应用程序中包含单个网络层?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

通常情况下,我保持所有逻辑远离Activities,所以,“是的,绝对!”:网络层就是您所需要的。

保持这种方法,即使重新启动Subscriptions,您的Activity也会保持活跃状态​​,例如,在轮换时。您需要查看的一个非常有用的运算符是.cache(),它可以帮助您重复使用正在进行的网络请求,而不是在新的subscribe()上触发新的请求。