android okhttp的使用-get请求

android原声的网络api使用起来略有不便,square公司的okhttp使用起来更加方便。

ExecutorService executor = Executors.newSingleThreadExecutor();
        executor.submit(new Runnable() {
            @Override
            public void run() {
                Request.Builder builder = new Request.Builder();
                builder.url(Url.newsUrl);
                Request request = builder.build();
                Log.d(TAG,"run: "+request);
                Call call = okHttpClient.newCall(request);
                try {
                    Response response = call.execute();
                    if (response.isSuccessful()) {
                        final String data = response.body().string();
                        Log.d(TAG,"responese: "+data);
                        activity.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                textView.setText(data);
                            }
                        });
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });

以上是同步get请求方法,以下异步get请求方法:

Request.Builder builder = new Request.Builder();
        builder.url(Url.newsUrl);
        final Request request = builder.build();
        Call call = okHttpClient.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                Log.d(TAG, "onFailure() called with: call = [" + call + "], e = [" + e + "]");
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                Log.d(TAG, "onResponse() called with: call = [" + call + "], response = [" + response + "]");
                response.body();
            }
        });



猜你喜欢

转载自blog.csdn.net/m0_37828249/article/details/79215496