对okhttp简单的总结:
对okhttp的简介:
OKHttp优点:
1.支持HTTP2/SPDY(SPDY是Google开发的基于TCP的传输层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。)
2.socket自动选择最好路线,并支持自动重连,拥有自动维护的socket连接池,减少握手次数,减少了请求延迟,共享Socket,减少对服务器的请求次数。
3.基于Headers的缓存策略减少重复的网络请求。
4.拥有Interceptors轻松处理请求与响应(自动处理GZip压缩)。
OKHttp的功能:
1.PUT,DELETE,POST,GET等请求
2.文件的上传下载
3.加载图片(内部会图片大小自动压缩)
4.支持请求回调,直接返回对象、对象集合
5.支持session的保持
使用okhttp需要添加的依赖:
compile 'com.squareup.okhttp3:okhttp:3.7.0'
compile 'com.squareup.okio:okio:1.12.0'
okhttp get请求的异步方式:
public static void OkHttpget(String url, Callback call){
//创建okHttpClient
okHttpClient = new OkHttpClient();
//创建request
request = new Request.Builder().url(url).method("GET",null).build();
okHttpClient.newCall(request).enqueue(call);
}
okhttp post请求的异步方式:
public static void OkHttpPost(String url,String name,String pswd){
okHttpClient = new OkHttpClient();
builder = new FormBody.Builder()
.add("phone",name)
.add("pwd",pswd)
.build();
//创建request
request = new Request
.Builder()
.url(url)
.post(builder)
.build();
okHttpClient.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
Log.d(TAG, "onResponse: "+response.body().string());
}
});
}
MVP框架的结构: