Android RxJava 实战系列:从磁盘 / 内...

Android RxJava 实战系列:从磁盘 / 内存缓存中 获取缓存数据 发表时间:2017-11-08 00:00

点上方绿标即可收听朗读音频

双击文章内容从指定位置处朗读

  • Rxjava由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点深受各大 Android开发者的欢迎

如果还不了解RxJava请看文章Android这是一篇 清晰 & 易懂的Rxjava 入门教程


  • RxJava如此受欢迎的原因在于其提供了丰富 & 功能强大的操作符几乎能完成所有的功能需求
  • 今天我将为大家带来 Rxjava中的常见开发应用场景从磁盘、内存缓存中获取缓存数据希望大家会喜欢
  1. 本系列文章主要基于 Rxjava 2.0
  2. 接下来的时间我将持续推出 AndroidRxjava 2.0 的一系列文章包括原理、操作符、应用场景、背压等等有兴趣可以继续关注Carson_Ho的安卓开发笔记!!




对于从磁盘 / 内存缓存中 获取缓存数据 的功能逻辑如下



        String memoryCache = null; String diskCache = "从磁盘缓存中获取数据"; Observable<String> memory = Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> emitter) throws Exception { if (memoryCache != null) { emitter.onNext(memoryCache); } else { emitter.onComplete(); } } }); Observable<String> disk = Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> emitter) throws Exception { if (diskCache != null) { emitter.onNext(diskCache); } else { emitter.onComplete(); } } }); Observable<String> network = Observable.just("从网络中获取数据"; Observable.concat(memory, disk, network) .firstElement() .subscribe(new Consumer<String>() { @Override public void accept( String s) throws Exception { Log.d(TAG,"最终获取的数据来源 = "+ s); } });


Carson_Ho的Github地址 = RxJava2实战系列从磁盘 / 内存缓存中 获取缓存数据


  • 本文主要讲解了 Rxjava的实际开发需求场景从磁盘 / 内存缓存中 获取缓存数据
  • 下面我将结合 实际场景应用 & Rxjava的相关使用框架(如RetrofitEventbus继续对 AndroidRxjava 的实际开发需求场景进行深入讲解 有兴趣可以继续关注Carson_Ho的安卓开发笔记


亲,眼睛太累了,关注exread(睿读吧)微信号,用耳朵“阅读”微信。

您可以将文章的链接或收藏的微信发送到睿读吧微信号中,我们会帮您转换成音频来听读,让您的眼睛休息一下吧!
查看来源 违规举报