于是,在这个周末,抽点时间对该工具类,进行了重新的拆解与编写,顺便完善下功能,尽可能的提升其使用起来的方便性和易扩展性。
标题的改善,也是指的是对于我之前的代码进行改善。
如果你对okhttp不了解,可以通过Android OkHttp完全解析 是时候来了解OkHttp了进行了解。
ok,那么目前,该封装库志支持:
- 一般的get请求
- 一般的post请求
- 基于Http的文件上传
- 文件下载
- 上传下载的进度回调
- 加载图片
- 支持请求回调,直接返回对象、对象集合
- 支持session的保持
- 支持自签名网站https的访问,提供方法设置下证书就行
- 支持取消某个请求
源码地址:https://github.com/hongyangAndroid/okhttp-utils
引入:
- Android Studio使用前,对于Android Studio的用户,可以选择添加:
1compile project(':okhttputils')
主项目中无需再引用okhttp的依赖,也不需要再额外导入Gson的lib. - Eclipse下载okhttputils.jar,添加到项目libs,同时需要下载okhttp.jar和gson-2.2.1.jar
二、基本用法
目前基本的用法格式为:
1 2 3 4 5 6 |
new OkHttpRequest.Builder() .url(url) .params(params) .headers(headers) .tag(tag) .get(callback); |
通过Builder去根据自己的需要添加各种参数,最后调用get(callback)进行执行,传入callback则代表是异步。如果单纯的get()则代表同步的方法调用。
可以看到,取消了之前一堆的get重载方法,参数也可以进行灵活的选择了。
类似的,除了get方法,还有post、upload、download、displayImage。用法基本都一致。下面简单看一下。
(1)GET请求
1 2 3 4 5 6 7 8 9 10 11 |
//最基本 new OkHttpRequest.Builder() .url(url) .get(callback); //扩展 new OkHttpRequest.Builder() .url(url) .params(params) .headers(headers) .tag(tag) .get(callback); |
(2)POST请求
1 2 3 4 5 6 7 8 9 10 11 12 |
//最基本 new OkHttpRequest.Builder() .url(url) .params(params) .post(callback); //扩展 new OkHttpRequest.Builder() .url(url) .params(params) .headers(headers) .tag(tag) .post(callback); |
(3)基于POST的文件上传
1 2 3 4 5 6 7 8 9 10 11 12 13 |
//基本 new OkHttpRequest.Builder() .url(url) .files(files) .upload(callback); //扩展 new OkHttpRequest.Builder() .url(url) .params(params) .headers(headers) .tag(tag) .files(files) .upload(callback); |
(4)下载文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
//基本 各种重载方法,以致于使用起来极不方便,实在惭愧。
于是,在这个周末,抽点时间对该工具类,进行了重新的拆解与编写,顺便完善下功能,尽可能的提升其使用起来的方便性和易扩展性。 标题的改善,也是指的是对于我之前的代码进行改善。 如果你对okhttp不了解,可以通过Android OkHttp完全解析 是时候来了解OkHttp了进行了解。 ok,那么目前,该封装库志支持:
源码地址:https://github.com/hongyangAndroid/okhttp-utils 引入:
二、基本用法目前基本的用法格式为:
通过Builder去根据自己的需要添加各种参数,最后调用get(callback)进行执行,传入callback则代表是异步。如果单纯的get()则代表同步的方法调用。 可以看到,取消了之前一堆的get重载方法,参数也可以进行灵活的选择了。 类似的,除了get方法,还有post、upload、download、displayImage。用法基本都一致。下面简单看一下。 (1)GET请求
(2)POST请求
(3)基于POST的文件上传
(4)下载文件
|