前言
使用
Android Studio 用户
一般来说,只需要添加第一个 okgo 的核心包即可,其余的三个库根据自己的需要选择添加。
//必须使用
compile 'com.lzy.net:okgo:3.0.4'
//以下三个选择添加,okrx和okrx2不能同时使用
compile 'com.lzy.net:okrx:1.0.2'
compile 'com.lzy.net:okrx2:2.0.2'
compile 'com.lzy.net:okserver:2.0.5'
//或者
compile 'com.lzy.net:okgo:+' //版本号使用 + 可以自动引用最新版
compile 'com.lzy.net:okrx:+' //版本号使用 + 可以自动引用最新版
compile 'com.lzy.net:okserver:+' //版本号使用 + 可以自动引用最新版
注意事项
使用该网络框架时,必须要在 Application 中做初始化,详细的初始化办法点击这里
okgo使用的okhttp的版本是最新的3.8.0版本,OkGo详细文档点击这里
okrx是基于RxJava的扩展项目,OkRx详细文档点击这里
okrx2是基于RxJava2的扩展项目,OkRx2详细文档点击这里
okserver是对okgo的扩展,包含两个核心入口类:
OkDownload是统一的下载管理,支持断点续传功能,OkDownload详细文档点击这里
OkUpload是统一的上传管理,OkUpload详细文档点击这里
OkGo主要功能
基本的 get、post、put、delete、head、options、trace、patch 八种请求;
支持 upString,upJson,upBytes,upFile 等 up 类方法上传特定数据;
支持一个 key 上传一个文件,也可以一个 key 上传多个文件,也可以多文件和多参数一起上传;
大文件下载和下载进度回调;
大文件上传和上传进度回调;
支持 cookie 的自动管理,并可自定义 cookie 管理策略;
支持缓存模式,不仅支持 http 缓存协议,也支持自定义缓存策略;
支持重定向;
支持自定义超时自动重连次数;
支持链式调用;
支持 https 访问,支持双向认证;
支持根据 tag 取消请求,也可全部取消;
支持自定义 Callback,自动解析网络数据;
请求
1. 请求所有配置
无论做什么请求,第一行的泛型一定要加!
注意以下几点:
这里演示的是一次普通请求所有能配置的参数,真实使用时不需要配置这么多,按自己的需要,选择性的使用即可;
第一行的泛型一定要特别注意,这个表示你请求网络的数据类型是什么,必须指定,否则无法解析网络数据;
.post(url):
这个表示当前请求是 post 请求,当然一共支持
GET,HEAD,OPTIONS,POST,PUT,DELETE,PATCH, TRACE 这 8 种请求方式,你只需要改改这个方法名就行了,很方便;
.params():