Android 使用RxJava+Retrofit +Realm 组合加载数据 <读取缓存 显示 请求网络数据 缓存最新数据 更新界面>(一)

本文介绍了如何在Android中结合RxJava、Retrofit和Realm进行数据加载,包括读取缓存、显示数据、网络请求、缓存更新及界面刷新。通过创建NetManager实现网络请求管理,降低Activity与网络请求的耦合。文中提到了concat操作符的使用,以实现按顺序执行数据加载流程,并给出了实现代码示例。
摘要由CSDN通过智能技术生成

如题解决方案直接从中间开始读起,上面都是废话

Rxjava 最近很流行,我也跟上潮流开始学习这个… 这个很牛逼的流式编程
什么 异步, 观察者模式, 响应式变成. 方法连 Observable Observer Subscribe 事件
OMG 各种概念.各种的各种..都是什么鬼..看的头都大了.目前还处于混乱期.
只明白了一点.这东西Rxjava上手确实不是那么容易的,各种参考资料,文档 各种的各种.

给 Android 开发者的 RxJava 详解
ReactiveX/RxJava文档中文版
RxJava适用场景小结
深入浅出RxJava(一:基础篇)
深入浅出RxJava ( 二:操作符 )
深入浅出RxJava ( 三–响应式的好处 )
深入浅出RxJava ( 四-在Android中使用响应式编程 )

github 上一些相关的资源

Awesome-RxJava 大部分的资料我是也是在这里找到的
RxJava 官方的开源地址
RxAndroid android平台相关
RxPermissions Rx配套的 6.0的权限申请
RxBinding JakeWharton大神的 控件绑定的一些支持库 什么防抖动之类的
RxLifecycle 防止内存泄漏的
….更多的请自行google寻找. 梯子Host 请低调使用

上面的资料,我居然都看了一边,有些不只一遍…可是还是懵懵懂懂. 感谢这些资料的总结者,给我这种小白提供入门的机会.虽然我资质有限,还没入门.
但是通过这几天的摸索.多少还是理解了一些.虽然有限.比如: 简化逻辑.不需要在写一堆异步回调的接口.便捷的线程切换等一些简单的概念.开始的时候,简单的集成到项目中,还是很顺利的,因为不久前就把项目中的网络模块替换成了Retrofit + okHttp.所以集成Rxjava需要添加一些相关的依赖就可以了

compile ‘com.squareup.retrofit2:adapter-rxjava:2.1.0’
compile ‘com.tbruyelle.rxpermissions:rxpermissions:0.7.0@aar’ //不是必须 6.0以上的权限申请
compile ‘io.reactivex:rxandroid:1.2.1’
compile ‘io.reactivex:rxjava:1.1.6’

WebApiServices 接口改造

public interface WebApiServices {
   

    @POST("/chaiche/api/recommend/home/")
    Observable<RecommendHome> getRecommendHomeDatas();//把call 换成Observable 就可以了
}

Activity调用

 RetrofitManager.getWebApiService()
                .getRecommendHomeDatas()
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Action1<RecommendHome>() {
                    @Override
                    public void call(RecommendHome recommendHome) {
                        setAdapter(recommendHome);
                    }
                });

完成后部署测试,没crash 说明没问题.

对比Retrofit Call + CallBack形式的


        Call<RecommendHome> call = RetrofitManager.getWebApiService
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值