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>

这里写图片描述
点击GET按钮
这里写图片描述
现在把信息获取在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);
                    }
                });
            }

这里写图片描述
网络访问框架,设置超时时间发生错误可以去retry,这些办法一般在全局的执行者里面

2、前后端交互

1、搭建服务器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值