okhttp3框架
对于基本的OkHttp3的使用参考官网;
OkHttp是一个高效的Http客户端,其特点:
- 支持HTTP2/SPDY黑科技
- socket自动选择最好路线,并支持自动重连
- 拥有自动维护的socket连接池,减少握手次数
- 拥有队列线程池,轻松写并发
- 拥有Interceptors轻松处理请求与响应(比如透明GZIP压缩,LOGGING)
- 基于Headers的缓存策略
以上内容参考系列文章:OkHttp3源码分析[综述],如果想要深入了解OkHttp的可以参考源码查看文章。
RxJava配合OkHttp3下载 文件&图片
如果你按照我上面的建议,看了OkHttp官网上的代码,并把它用到了项目中,同时没有做其他的操作,编译的时候你会发现问题:
java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread.
Caused by: android.os.NetworkOnMainThreadException
这是因为,官网上只是给出了OkHttp同步请求的操作,并没有给出异步操作!!!(OkHttp2.x的时候官网上是有异步操作的例子)OkHttp3和OkHttp2.x的异步请求还是有一些区别的:如果想要了解OkHttp3的异步操作,可以参考这篇文章:
官网上没有给出OkHttp3的异步操作,也许是想要让开发者配合RxJava的使用。如果还不了解RxJava的用法,请先Google一下,这几篇是国内最初翻译的Rxjava文献,可供参考。
扩展:
Android网络编程(一)HTTP协议原理
Android网络编程(二)HttpClient与HttpURLConnection
Android网络编程(三)Volley用法全解析
Android网络编程(四)从源码解析volley
Android网络编程(五)OkHttp2.x用法全解析
Android网络编程(六)OkHttp3用法全解析
Android网络编程(七)源码解析OkHttp前篇[请求网络]
Android网络编程(八)源码解析OkHttp后篇[复用连接池]
Android网络编程(九)Retrofit2前篇[基本使用]
Android网络编程(十)Retrofit2后篇[注解]
Android网络编程(十一)源码解析Retrofit
Android网络编程(二)HttpClient与HttpURLConnection
Android网络编程(三)Volley用法全解析
Android网络编程(四)从源码解析volley
Android网络编程(五)OkHttp2.x用法全解析
Android网络编程(六)OkHttp3用法全解析
Android网络编程(七)源码解析OkHttp前篇[请求网络]
Android网络编程(八)源码解析OkHttp后篇[复用连接池]
Android网络编程(九)Retrofit2前篇[基本使用]
Android网络编程(十)Retrofit2后篇[注解]
Android网络编程(十一)源码解析Retrofit
RXjava 扩展
连接
作者:Torang
链接:http://www.jianshu.com/p/b084b6d91260
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
作者:Torang
链接:http://www.jianshu.com/p/b084b6d91260
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。