OKHttp3的 封装工具类

//倒依赖
//OKHttp:网络请求框架
implementation “com.squareup.okhttp3:okhttp:3.12.0”
public class OKHttpUtil {
//3、提供一个本地OKHttpUtil引用
private static OKHttpUtil okHttpUtil;
private final OkHttpClient okHttpClient;

//单例模式
//1、私有化构造函数
//作用:不能被其他外部内容访问
private OKHttpUtil() {
    //创建OKHttp对象
    okHttpClient = new OkHttpClient.Builder()
            .addInterceptor(new RedirectInterceptor())
            .addInterceptor(new LogInterceptor())
            .build();
}

//2、提供公有方法供外部类访问
public static OKHttpUtil getInstance() {
    //DCL模式的懒汉式
    if (null == okHttpUtil) {
        synchronized (OKHttpUtil.class) {
            if (null == okHttpUtil) {
                okHttpUtil = new OKHttpUtil();
            }
        }
    }
    return okHttpUtil;
}

public void post(RequestBody requestBody,String urlString,Callback callback) {
    //①在这里首先需要请求体,但是需要具体类进行提供,所以把RequestBody作为参数进行传入
    //②然后需要请求地址参数,也需要具体类进行提供,所以也把URL作为参数进行传入
    Request request = new Request.Builder()
            .method("POST", requestBody)
            .url(urlString)
            .build();
    Call call = okHttpClient.newCall(request);
    call.enqueue(callback);
}

public void get(String urlString,Callback callback){
    //所需的参数是URL地址
    Request request = new Request.Builder()
            .url(urlString)
            .build();
    okHttpClient.newCall(request).enqueue(callback);
}

}
//2.OKgo

//导依赖
implementation ‘com.lzy.net:okgo:3.0.4’
//okgo
OkGo.get(Constant.SHOPPING_URL).execute(new StringCallback() {
@Override
public void onSuccess(Response response) {
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值