android okhttp 的优点,android okHttp使用及其优势

最近okhttp网络请求比较火 ,本人在工作之余也了解一下okhttp的特点及用法,希望对大家有用.

第一点:谷歌官方在6.0以后在Android sdk已经移除了httpClient,加入我们okHttp.

第二点:okHttp支持SPDY(是谷歌开发的基于TCP的应用层协议,用于最小化网络延迟,提升网络速度,优化用户的网络使用体验. SPDY并不是一种替代http的协议,只是对http的一种增强.)允许连接在一主机的所有请求分享一个socket.如果SPDY不可用.会使用连接池来减少请求延迟.利用响应缓存来避免重复的网络请求.即便是网络出现问题时,okhttp依然起作用.它将从常见的链接问题当中回复.如果你的服务器有多个IP地址,当地一个失败时,okhttp会自动尝试连接其他的地址.这对于IPV4和IPV6以及寄宿在多个数据中心的服务而言,是非常有必要的,所以okhttp的稳定性可以说是非常棒的.第一点:谷歌官方在6.0以后在android 打开已经移除了httpClient 加入了okHttp.

第三点:使用方式:

1.离线方式:

2. 添加依赖的方式;

1.通过maven仓库搜索下载okhttp.jar和okio.jar使用

2. gradle中加入`compile 'com.squareup.okhttp:okhttp:2.6.0'`即可

最常使用的get请求 同步请求:

//1.创建OkHttpClient实例对象

OkHttpClient okHttpClient = new OkHttpClient();

//home

// ?index=0==>参数

String url = Constants.URLS.BASEURL + "home?index=0";

//2.创建一个请求

Request request = new Request.Builder()

.get()//get方法

.url(url)//对应的url

.build();

//3.发起请求

Response response = okHttpClient.newCall(request).execute();

//4.取出结果

String resultJsonString = response.body().string();

异步的请求:

//1.创建OkHttpClient实例对象

OkHttpClient okHttpClient = new OkHttpClient();

//home

// ?index=0==>参数

String url = Constants.URLS.BASEURL + "home?index=0";

//2.创建一个请求

Request request = new Request.Builder()

.get()//get方法

.url(url)//对应的url

.build();

//3.发起请求

okHttpClient.newCall(request).enqueue(new Callback() {

@Override

public void onFailure(Request request, IOException e) {

//请求成功

}

@Override

public void onResponse(Response response) throws IOException {

//请求失败

}

});

参数的拼接:访问后台服务器 拼接相应的 参数.仅供参考public static String getUrlParamsByMap(Map map) {

if (map == null) {

return "";

}

StringBuffer sb = new StringBuffer();

for (Map.Entry entry : map.entrySet()) {

sb.append(entry.getKey() + "=" + entry.getValue());

sb.append("&");

}

String s = sb.toString();

if (s.endsWith("&")) {

s = s.substring(0, s.length() - 1);

}

return s;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值