Android ——网络请求框架OkHttp使用

前言

Android系统提供了两种HTTP通信类, 一个是 HttpURLConnection  和 HttpClient .

尽管Google在大部分安卓版本中推荐是使用HttpURLConnection  ,但这个类相比HTTPClient实在是太难用了.

OkHttp是一个相对比较成熟的解决方案,据说Android4.4的源码中可以看到HttpURLConnection  已经替换成了OkHttp实现了,所以我们更有理由相信OKHttp的强大.


官方资料

OKHttp官方介绍

OKHttp GITHUB地址


基本使用

1,Android Studio 配置文件:

 compile 'com.squareup.okhttp:okhttp:2.5.0'
     注意: okhttp内部依赖okio,别忘了同时导入okio:

  compile 'com.squareup.okio:okio:1.5.0'

2. HTTP GET

// Http Get
        OkHttpClient okHttpClient = new OkHttpClient();
        Request request = new Request.Builder().url("http://www.baidu.com/").build();
        Call call = okHttpClient.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Request request, IOException e) {

            }

            @Override
            public void onResponse(Response response) throws IOException {
                String htmlStr =  response.body().string();
                Log.d("okhttp",htmlStr.toString());
            }
        });

(1)通过一个get请求,首先创建Request对象,参数只是一条Ur链接,当然还可以在Request.Builder设置更多的参数比如:header, method等等。

(2)然后通过Request的对象去构造得到一个Call 对象,类似于将你的请求封装成了任务,既然有任务就有execute() 和cancel()等方法。

(3)最后调用的是call.enqueue, 将call 加入调度队列中,然后等待任务完成,即可在Callback中得到结果。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值