OkHttp工具类

本人写的一个工具类,直接调用里面的方法即可使用,get,post,请求
post需要传FormBoby 直接在调用工具类之前写一个FromBoby即可

 * @Data:2019/4/30 11:23
 * 描述:
 */
public class OkHttpUtil {
    int http_success=1;
    int http_fild=2;

    public OkHttpUtil get(String url){
        dohttp(url,0,null);
        return this;
    }
    public OkHttpUtil post(String url,FormBody.Builder bobybuilder){
        dohttp(url,1,bobybuilder);
        return this;
    }
    //网络请求
    private void dohttp(String url,int Type,FormBody.Builder bobybuilder){
        OkHttpClient client=new OkHttpClient.Builder().addInterceptor(new Interceptor() {
            @Override
            public Response intercept(Chain chain) throws IOException {
                //拦截器
                Request request = chain.request();
                Log.i("aaa", "intercept: "+request.url().host());
                return chain.proceed(request);
            }
        }).build();
        Request.Builder builder = new Request.Builder();
        if (Type == 0) {
            builder.get();
        }else{
            builder.post(bobybuilder.build());
        }
        builder.url(url);
        Request build = builder.build();
        final Message bt = Message.obtain();
        client.newCall(build).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                String a=e.getMessage();
                bt.what=http_fild;
                bt.obj=e;
                handler.sendMessage(bt);
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String a=response.body().string();
                bt.obj=a;
                bt.what=http_success;
                handler.sendMessage(bt);
            }
        });
    }
    //创建线程
    private Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == http_success) {
                String data= (String) msg.obj;
                callBack.success(data);
            }else{
                String data= (String) msg.obj;
                callBack.fild(data);
            }
        }
    };
    //创建接口回调
    public  interface CallBack{
        void success(String data);
        void fild(String data);
    }
    public CallBack callBack;

    public void setCallBack(CallBack callBack) {
        this.callBack = callBack;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值