OkHttp封装的工具类

private OKHttpGetListener onOKHttpGetListener;
   private MyHandler myHandler = new MyHandler();
   // /get
   public void get(String url){
      OkHttpClient client = new OkHttpClient();
      //创建请求对象
      Request request = new Request.Builder().url(url).build();
      //创建Call请求队列
      //请求都是放到一个队列里面的
      Call call = client.newCall(request);
      //开始请求
      call.enqueue(new Callback() {
         //       失败,成功的方法都是在子线程里面,不能直接更新UI
         @Override
         public void onFailure(Call call, IOException e) {
            Message message = myHandler.obtainMessage();
            message.obj = "请求失败";
            message.what = 0;
            myHandler.sendMessage(message);
         }

         @Override
         public void onResponse(Call call, Response response) throws IOException {
            Message message = myHandler.obtainMessage();
            String json = response.body().string();
            message.obj = json;
            message.what = 1;
            myHandler.sendMessage(message);
         }
      });
   }
   //使用接口回到,将数据返回
   public interface OKHttpGetListener{
      void error(String error);
      void success(String json);
   }
   //给外部调用的方法
   public void setOnOKHttpGetListener(OKHttpGetListener onOKHttpGetListener){
      this.onOKHttpGetListener = onOKHttpGetListener;
   }
   //使用Handler,将数据在主线程返回
   class MyHandler extends Handler {
      @Override
      public void handleMessage(Message msg) {
         int w = msg.what;
         if (w ==0){
            String error = (String) msg.obj;
            onOKHttpGetListener.error(error);
         }
         if (w==1){
            String json = (String) msg.obj;
            onOKHttpGetListener.success(json);
         }
      }
   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值