小编在这里给各位Android开发者介绍的资源包括工具、库和网站等。有效地利用它们,将有助于减轻我们的工作量,提高我们的工作效率。
为什么需要一个HTTP库
Android系统提供了两种HTTP通信类,HttpURLConnection和HttpClient。尽管Google在大部分安卓版本中推荐使用HttpURLConnection,但是这个类相比HttpClient实在是太难用,太弱爆了。OkHttp是一个相对成熟的解决方案,据说Android4.4的源码中可以看HttpURLConnection已经替换成OkHttp实现了。所以我们更有理由相信OkHttp的强大。
OkHttp是Square的一款产品,是一个Java的开源HTTP和SPDY客户端开发包,支持Android。Android自带的两个HTTP框架(HttpURLConnection和HttpClient),在各种Android OS版本一直充斥着错误,可以使任何理智的开发者走向崩溃。不过幸运地是,OkHttp解决了这些问题。OkHttp是建立在HttpUrlConnection上,从Android代码库保持最新的修复,这意味着再也没有与旧操作系统版本出现兼容性问题的噩梦。
OkHttp是一个高效的HTTP库:
支持 SPDY ,共享同一个Socket来处理同一个服务器的所有请求
如果SPDY不可用,则通过连接池来减少请求延时
无缝的支持GZIP来减少数据流量
缓存响应数据来减少重复的网络请求
OkHttp 处理了很多网络疑难杂症:会从很多常用的连接问题中自动恢复。如果您的服务器配置了多个IP地址,当第一个IP连接失败的时候,OkHttp会自动尝试下一个IP。OkHttp还处理了代理服务器问题和SSL握手失败问题。
使用 OkHttp 无需重写您程序中的网络代码。OkHttp实现了几乎和
java.net.HttpURLConnection一样的API。如果您用了ApacheHttpClient,则OkHttp也提供了一个对应的okhttp-apache 模块。
OkHttp 支持 Android 2.2+;Java 1.5+。
示例
通过GET请求一个URL
下面的示例请求一个URL并答应出返回内容字符。
OkHttpClientclient=newOkHttpClient();
POST 数据到服务器
publicstaticfinalMediaTypeJSON
更多内容和资讯或者问题,更多干货分享,尽在我的个人微信公众号,
微信名:非著名程序员,微信号:smart_android(←长按复制)。
微博:涩郎