什么是响应式编程

  响应式编程是一种基于异步数据 流概念的编程模式。数据流就像一条河:它可以被观测,被过滤,被操作,或者为新的消费者与另外一 条流合并为一条新的流。

什么是RxJava

  • RxJava 是一种响应式编程,来创建基于事件的异步操作库。基于事件流的链式调用、逻辑清晰简洁。 
  • RxJava 我的理解是将事件从起点(上游)流向终点(下游),中间有很多卡片对数据进操作并传 递,每个卡片获取上一个卡片传递下来的结果然后对事件进行处理然后将结果传递给下一个卡片, 这样事件就从起点通过卡片一次次传递直到流向终点。

RxJava本质上是一个异步操作库,是一个能让你用极其简洁的逻辑去处理繁琐复杂任务的异步事件库。 

观察者模式

  Android中View的点击监听器的实现,View是被观察者,OnClickListener对象是观察者, Activity要如何知道View被点击了?那就是派一个OnClickListener对象,入驻View,与View达成一个订 阅关系,一旦View被点击了,就通过OnClickListener对象的OnClick方法传达给Activity。采用观察者模 式可以避免去轮询检查,节约有限的cpu资源。

Retrofit+OkHTTP+RxJava+RecycleView的实现步骤

要引入项目依赖

//添加RxJava依赖
implementation "io.reactivex.rxjava3:rxjava:3.0.0"
//添加RxAndroid依赖,专门用于Android的Rx库
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'//衔接 Retrofit & RxJava,此处一定要注意使用RxJava2的版本
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0'
//添加Retrofit依赖
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
//添加Gson解析
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
//添加图片加载库依赖
implementation 'com.github.bumptech.glide:glide:4.12.0'

首先要定义接口

public interface GETInterface {@GET("api/hotlist?type=36Ke")Observable<News> getObservable();}

然后是在Activity中的实现方法

  1. 创建请求接口
  2. 开始网络请求
  3. 处理返回结果
private void getObservable() {Retrofit retrofit=new Retrofit.Builder().baseUrl("https://api.vvhan.com/").addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJava2CallAdapterFactory.create()).build();GETInterface request = retrofit.create(GETInterface.class);Observable<News> observable = request.getObservable();observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer<News>() {@Overridepublic void onSubscribe(Disposable d) {}@Overridepublic void onNext(News news) {adapter.setNews(news.getData());}@Overridepublic void onError(Throwable e) {Log.i("onError", "连接失败");}@Overridepublic void onComplete() {Log.i("onComplete", "连接完成");}});}

Retrofit+OKHttp+RxJava的使用相关推荐

  1. java中使用okhttpsoap,Android okHttp网络请求之Retrofit+Okhttp+RxJava组合

    Retrofit介绍: Retrofit和okHttp师出同门,也是Square的开源库,它是一个类型安全的网络请求库,Retrofit简化了网络请求流程,基于OkHtttp做了封装,解耦的更彻底:比 ...

  2. java okhttp3 工具类,Retrofit+okhttp+Rxjava网络请求工具类

    1.BaseApis接口封装请求方式 package com.example.wdshop.network; import java.util.Map; import okhttp3.Response ...

  3. ACCU天气API以及Okhttp、Retrofit、RxJava的使用

    因为公司项目需要使用到天气信息,而且有国外的使用需求,所以就没有选择国内的信息提供商,而是把目光瞄向了国际化的 ACCUWeather.通过下面的两个链接,我们可以简单的了解到AccuWeather的 ...

  4. Dagger2之应用篇(Dagger2+RxJava+Retrofit+OkHttp+MVP)-第7章

    介绍 前面介绍了Dagger2,今天尝试自己的想法去应用了下,说实话很别扭,晚上睡觉思前想后这个的好处.总是有一种似懂非懂,感觉就是,让对象与对象之间产生了一中关联,多个module的provides ...

  5. retrofit与rxjava使用

    retrofit和rxjava(加深) http://www.jianshu.com/p/64af68c5638c Android Retrofit + RxJava使用详解(基础) http://w ...

  6. MVP+Dragger2+Rxjava2+Retrofit+OKhttp进行开发。

    MVP+Dragger2+Rxjava2+Retrofit+OKhttp框架已经流行很长时间,而且也必将成为未来android开发的趋势,在使用这个框架的过程中踩过很多坑, 所以想把我的经验告诉大家, ...

  7. 学会Retrofit+OkHttp+RxAndroid三剑客的使用,让自己紧跟Android潮流的步伐

    概括 在上一篇博客android网络框架OkHttp之get请求(源码初识) 讲解了OkHttp的简单使用和OkHttp源码的分析,主要讲解的还是理论上的知识,还是没有去实践下,那么这篇博客里面就来实 ...

  8. Retrofit+OkHttp+RxAndroid

    转载请标明出处: http://blog.csdn.net/iamzgx/article/details/51607387 本文出自:[iGoach的博客] 概括 在上一篇博客android网络框架O ...

  9. 使用Retrofit和RxJava

    使用Retrofit和RxJava整合访问网络,然后将数据显示到界面上 def retrofitVersion = '2.0.0-beta1'dependencies {compile fileTre ...

最新文章

  1. Vue 源码阅读(三)Special Attributes
  2. 牛客算法周周练2 B Music Problem(DP,抽屉原理,二进制拆分)
  3. 如何解决多地开视频会议直播问题?
  4. 一次简单的Java服务性能优化,实现压测 QPS 翻倍
  5. monty python flying circus-巨蟒剧团之飞翔的马戏团 第一季
  6. JMS学习(2):ActiveMQ简单介绍以及安装
  7. PyCharm编程环境的中英文字体分别设置的好处多----一石三鸟地解决中文字体不一致、英文字体不涵盖中文字符、编程字体实用性兼顾美观性的三个问题
  8. 自主生态再进一步,龙芯中科完成.NET3.1-LoongArch64平台研发
  9. Android 如何让EditText不自动获取焦点
  10. 微课|玩转Python轻松过二级(1.3节):编码规范与代码优化建议2
  11. 小D课堂 - 零基础入门SpringBoot2.X到实战_第三节SpringBoot热部署devtool和配置文件自动注入实战_16、注解配置文件自动映射到属性和实体类实战...
  12. 在搭建tesseract-OCR环境中遇到问题和反省
  13. xp大容量u盘补丁_xp大容量硬盘补丁
  14. 微信小程序优惠券的购买和核销的操作流程设计
  15. 使用exceljs导出excel表格
  16. Win8.1 KB2919355更新无法正常安装完成,解决办法?
  17. 家门口的微醺“buff”——酒分之一开启社区酒吧式便利店次元
  18. Redis从库失败导致集群概率读不到
  19. MySQL(学生表、教师表、课程表、成绩表)多表查询
  20. 股票自选股基本函数大全-9

热门文章

  1. html 边框四周闪光的效果,纯css 边框闪烁效果
  2. 决策树 建模_主题建模到类别树中
  3. aes 和 rsa
  4. 百度小程序以及如何进行SEO?
  5. c语言两个指针变量不可以,2.C语言指针变量
  6. [考试反思]0909csp-s模拟测试41:反典
  7. Android挂机 屏幕,游戏蜂窝新版支持全面屏手机 简单几步教你如何设置挂机
  8. c盘扩容提示簇被标记_垃圾文件正在吞噬你的C盘空间!用这四种方法,还你一个干净的C盘...
  9. stm32中断源有哪些_STM32常见问题汇总
  10. 一文读懂 S7-1500 手册 - 关于常用资源的介绍