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
最新文章
- Cookie与Session用法
- HTML+css实现图片全屏
- ListView onItemClick(AdapterView<;?>; parent, View view, int position, long id)参数详解
- 关于IOS网络通信的学习
- 网站开发常用jQuery插件总结(四)验证插件validation
- effective c++ 条款18 make interface easy to use correctly and hard to use incorrectly
- Chrome调试工具developer tool技巧
- lastIndex对正则结果的影响
- 公网访问阿里云数据库MongoDB——填坑日记
- jenkins 配置
- 安装VMware tools
- CodeForces 433C Ryouko&#39;s Memory Note (中位数定理)
- arcpy 零碎知识
- Javascript高级编程学习笔记(6)—— 流程控制语句
- C#窗体控件DataGridView常用设置
- Mybatis-Plus 实战完整学习笔记(六)------select测试一
- Java安全通信:HTTPS与SSL
- 20155210 Exp9 Web安全基础实践
- Visual Studio 2008 添加MScomm控件的方法
- Kafka性能
热门文章
- WebSocket 时时双向数据,前后端(聊天室)
- jmeter正则提取值 同级目录下的值
- Vue---从后台获取数据vue-resource的使用方法
- poj2135 Farm Tour(费用流)
- [代码]--给GridControl中的某列添加图片
- 【题解】 bzoj4004: [JLOI2015]装备购买 (线性基)
- 【枚举Day1】20170529-2枚举算法专题练习 题解
- 洛谷 P2376 [USACO09OCT]津贴Allowance 解题报告
- bzoj3114 LCM Pair Sum
- MyBatis 源码分析——配置信息