在Android Studio项目中,使用okHttp时要添加:
compile 'com.squareup.okhttp:okhttp:2.4.0'
1.构建网络请求控制对象OkHttpClient
2.创建请求对象request
3.创建Call对象
4.创建接收返回数据的对象response
5.发送网络请求
OkHttp的使用教程:
OkHttpClient mOkHttpClient = new OkHttpClient();  //创建okHttpClient对象
final Request request  = new Request.Builder().url("https://baidu.com").build() //创建一个Request对象,设置请求参数
Call call = mOkHttpClient.newCall(Request)  //将request构造成一个call对象,将你的请求封装成任务
Response response = call.execute()  //得到响应对象
当使用异步请求时:
call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                Log.d(TAG, "异步请求失败"+e.toString());
            }
 
            @Override
            public void onResponse(Call call, Response response) throws IOException {
                Log.d(TAG, "异步请求成功"+response.body().string());
            }
        });
	
)

在这里插入图片描述
在这里插入图片描述

Okhttp网络拦截器:

1.重定向拦截器:RetryAndFollowUpInterceptor

2.桥接拦截器:BridgeInterceptor
我们在Okhttp里面建立一个Request请求对象,但是这个对象并不是直接就可以马上进行网络请求的,毕竟我们你刚开始实例化Request的时候,就简单的放入了Url,body等,很多参数都并没有设置,所以我们还需要补充很多参数,然后发起网络请求,然后网络返回的参数,我们在吧他封装到Okhttp可以直接使用的对象;

3.缓存拦截器:CacheInterceptor

4.连接拦截器:ConnectInterceptor
打开了与服务器的连接,正式开启了网络请求

5.网络请求拦截器:CallServerInterceptor
Tcp协议要建立通道,然后在发送数据,在上面的拦截器ConnectInterceptor已经帮助我们把通道建立好了,所以这个CallServerInterceptor拦截器里面,我们的主要任务是发送相关的数据;

参考文献:
网络请求之Okhttp

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐