Okhttp get异步请求数据

来源:互联网 发布:天蝎网络第三季 百度 编辑:程序博客网 时间:2024/04/29 02:28

 /**
     * post和get都有同步和异步的方式.....区别就在于call调用的方法不同
     * @param view
     */



        OkHttpClient okHttpClient = new OkHttpClient();


        final Request request = new Request.Builder()
                .url("https://www.zhaoapi.cn/ad/getAd")
                .build();


        Call call = okHttpClient.newCall(request);


        //指定call调用的方式
        call.enqueue(new Callback() {
            //失败
            @Override
            public void onFailure(Call call, IOException e) {
                //打印异常的日志
                e.printStackTrace();
            }


            //服务器有响应....这个位置仍然是工作线程
            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if (response.isSuccessful()){


                    //response.body().string();


                    //java.lang.IllegalStateException: closed 非法状态异常:关闭...本次请求已经响应,,,关闭
                    Log.i("------",response.body().string());


                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(MainActivity.this,"请求成功",Toast.LENGTH_SHORT).show();
                        }
                    });


                }
            }
        });
原创粉丝点击