Android OKHttp的高度封装

来源:互联网 发布:单片机开发板哪个好 编辑:程序博客网 时间:2024/06/05 07:22

连网框架有很多,那你可能问,为什么不用其他的联网开源框架呢?
xutils、okHttp、volley、android-async-http对比:
从xutils 2.1.5版本到的xutils 3.0,使用起来也是蛮方便的,但Xutils里面包含的东西相对来说比较杂,有数据库、图片缓存、注解、网络请求等等。但个人感觉太过复杂,有时我们只用到了一部分功能且多余的类,在编译时,也会参与编译。
volley是一个简单的异步http库,仅此而已。缺点是不支持同步,这点会限制开发模式;不能post大数据,所以不适合用来上传文件
android-async-http。与volley一样是异步网络库,但volley是封装的httpUrlConnection,它是封装的httpClient,而android平台不推荐用HttpClient了,所以这个库已经不适合android平台了。
okhttp是高性能的http库,支持同步、异步,而且实现了spdy、http2、websocket协议,api很简洁易用,和volley一样实现了http协议的缓存。

下面让我们先来看看,封装后是怎么使用的:

这里写图片描述

其实就是这么简单。
若是要自己设置缓存路径请看下面这段代码:

      OkHttpClient.Builder builder = new OkHttpClient().newBuilder()            .connectTimeout(10, TimeUnit.SECONDS)//设置超时时间            .readTimeout(10, TimeUnit.SECONDS)//设置读取超时时间            .writeTimeout(10, TimeUnit.SECONDS);//设置写入超时时间    int cacheSize = 10 * 1024 * 1024; // 10 MiB    Cache cache = new Cache(App.getContext().getCacheDir(), cacheSize);    builder.cache(cache);    builder.addInterceptor(interceptor);    mOkHttpClient = builder.build();

下面是一个小Demo链接地址(因为代码注释写的相当详细,我这里就不依次讲了):
http://download.csdn.net/detail/jimtrency/9677428

1 0
原创粉丝点击