Android网络框架-OkHttp使用

1、GET请求步骤

1、引入okhttp的依赖

compile 'com.squareup.okhttp3:okhttp:3.5.0'

同步,自动会下载okhttp依赖的jar


2、在MainActivity添加doGet方法
步骤:
(1)拿到okHttpClient对象
(2)构造Request
(3)将Request封装为Call
(4)执行call

 //使用okHttp访问一个网站
    public void doGet(View view) throws IOException {
        //okHttpClient相当与一个全局的执行者(配置了请求的相关信息,执行请求的动作)
        OkHttpClient okHttpClient=new OkHttpClient();
        //发起一个请求,因为基于构造模式,所以是Builder
        Request.Builder builder=new Request.Builder();
        //访问url指定的网址,返回Request
        Request request = builder.get().url("http://www.csdn.net/").build();

        //将request传入okHttpClient,访问call
        Call call = okHttpClient.newCall(request);

     //1、直接执行   Response response=call.execute();
     //2、异步执行,加入队列,异步得提供回调的接口
        call.enqueue(new Callback() {
            @Override//产生错误的时候回调
            public void onFailure(Call call, IOException e) {
                //打印错误信息
                L.e("onFailure:"+e.getMessage());
                e.printStackTrace();
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                L.e("onResponse:");
                //通过response获取相关信息,转换为String
                String string = response.body().string();
                //打印
                L.e(string);
            }
        });
    }

加入网络访问权限

<uses-permission android:name="android.permission.INTERNET">uses-permission>

Android网络框架-OkHttp使用_第1张图片
点击GET按钮
Android网络框架-OkHttp使用_第2张图片
现在把信息获取在Android应用上

 public void onResponse(Call call, Response response) throws IOException {
                L.e("onResponse:");
                //通过response获取相关信息,转换为String
                final String string = response.body().string();
                //打印
              //  L.e(string);
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        tv_get.setText(string);
                    }
                });
            }

Android网络框架-OkHttp使用_第3张图片
网络访问框架,设置超时时间发生错误可以去retry,这些办法一般在全局的执行者里面

2、前后端交互

1、搭建服务器

你可能感兴趣的:(Android,android,框架,网络,对象,jar)