Android网络框架之Retrofit + RxJava + OkHttp 变化的时代
1、什么是Retrofit框架?
它是Square公司开发的现在非常流行的网络框架,所以我们在导入它的包的时候都可以看到这个公司的名字,目前的版本是2。
特点:
性能好,处理快,使用简单,Retrofit 是安卓上最流行的HTTP Client库之一
使用REST API设计风格
支持 NIO(new i/o)
默认使用OKHttp处理网络请求,我觉得可以看成是OKHttp的增强。
随着Google对HttpClient的摒弃,和Volley的逐渐没落,OkHttp开始异军突起,而Retrofit则对okHttp进行了强制依赖。Retrofit也是Square公司开发的一款针对Android网络请求的框架,其实质就是对okHttp的封装,使用面向接口的方式进行网络请求,利用动态生成的代理类封装了网络接口。retrofit非常适合于RESTful url格式的请求,更多使用注解的方式提供功能。
现在android网络请求大部分已经换成了Retrofit2.0 +RxJava + okHttp3.0,Retrofit 使用接口的方式,负责请求的数据和请求的结果,OkHttp 负责请求的过程,RxJava 负责异步,各种线程之间的切换。毫无疑问这三剑客 已成为当前Android 网络请求最流行的方式。
简介
Retrofit: Retrofit是Square 公司开发的一款基于restful风格接口的Android 网络请求的框架,对okhttp做了一层封装。网络请求还是基于Okhttp,我们只需要通过简单的配置就能使用retrofit来进行网络请求了,Retrofit官网
RxJava:RxJava 在 GitHub 主页上介绍 “a library for composing asynchronous and event-based programs using observable sequences for the Java VM”(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)。总之,rxjava让异步操作变得非常简单。RxJava
OkHttp: Square 公司开源的网络请求库 OkHttp
基本使用
HTTP协议中共定义了八种方法或者叫“动作”来表明对Request-URI指定的资源的不同操作方式,分别是OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT,介绍就省略了。
虽然有这么多种请求方式,但App的接口请求无非就是数据的增删改查,增删改查对应到Restful风格接口上也就是post,delete,put,get四种请求。在Retrofit框架提供的注解中,其中HTTP注解有五个,用来修饰请求方法,除了post,delete,put,get还有一个head。除了这五种网络请求方式外,App无非还会用到retrofit的单文件或者多文件的上传下载,同步请求或者异步请求的处理,还有okhttp数据缓存的问题。
参考: https://blog.csdn.net/carson_ho/article/details/73732076