前言
okhttp很常用的一个网络请求框架,因此记录一下如何使用,然后走一下源码流程。这篇只是简单记录一下okhttp的同步和异步请求。
好记性不让烂笔头
正文
同步和异步初始化都一样,只是最后调佣的方法不一样。这里只是简单记录,因此直接上代码。
在Module的build.gradle中引入对应的库
implementation 'com.squareup.okhttp3:okhttp:3.12.0'
有高版本,自行去官网查看。
因为前期都一样,因此都统一写相同部分。
创建OkHttpClient
OkHttpClient client = new OkHttpClient();
当然也可以用Builder
OkHttpClient client = new OkHttpClient .Builder() //可添加其他的配置 .build();
创建Request
Request request = new Request. Builder() .get() .url("https://www.biumall.com/") .build();
创建Call
其实就是对request的封装
Call call = client.newCall(request);
同步或异步
同步和异步的调用方式不一样了。
同步
Response response = call.execute(); if (!response.isSuccessful()) { throw new IOException(response); } Headers responseHeaders = response.headers(); //略
异步
call.enqueue(new Callback() { @Override public void onFailure(@NonNull Call call, @NonNull IOException e) { //失败 子线程中 } @Override public void onResponse(@NonNull Call call, @NonNull Response response) { //成功 子线程中,可以IO操作 } });
参考文章
《
© 版权声明