一个简单易用的Http访问工具类for Android

本文介绍了一个简单易用的Http访问工具类,适用于Android开发。该工具类旨在简化Http请求,提供内置回调处理结果,支持token管理和错误处理。通过集成OkHttp库,实现了单例模式,减少了重复代码。文章还涵盖了工具类的设计思路、核心代码以及如何使用。通过示例展示了如何在实际项目中调用工具类进行Http请求。
摘要由CSDN通过智能技术生成

    前言

    去年(2017)参加服务外包省赛的时候,负责App开发的我遇到了一个小难题——Http请求。虽说已经有成熟的HttpUrlConnection库供使用,但依然感到有些不方便:进行一次简单的请求并对结果进行处理,需要敲下不少代码;多次请求之间其实有很多重复代码。幸运的我碰巧接触到了郭霖大神的《第二行代码》,借(chao)鉴(xi)于郭大对OkHttp的讲解,最终有了本次的HttpUtil工具类。

    优势

    本工具类的优势在于用最少的代码进行Http的请求,并提供内置回调函数以处理返回结果,而且可以对token的添加与获取、常见网络错误(500,400)进行统一处理,废话不多说,来一起看看是怎么实现的吧。

    实现

    集成之前自然要导入okhttp的jar包,在android studio中可以很方便地在gradle中添加依赖

compile group: 'com.squareup.okhttp', name: 'okhttp', version: '2.7.5'

    点击可查看okhttp的最新版本

    同步之后我们先来看看okhttp的基本用法(get):

new Thread(new Runnable() {
            @Override
            public void run() {
                Request.Builder builder = new Request.Builder()
                        .url("http://www.baidu.com")   //指定网址
                        .get();          //指定请求类型
                Request request = builder.build();
                OkHttpClient client = new OkHttpClient();
                try {
                    //实际进行请求的代码
                    Response response = client.newCall(request).execute();
                    //获取后端返回的json
                    String result = response.body().string();
                    Log.i("result", result);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();

    讲道理okhttp已经大大简化了http访问的步骤,但是由于此为异步操作,需要新开一个线程进行,再加上try catch操作,无意中又增加了不少代码量。可以预见的是,日后执行其它的访问操作只是换了网址访问类型等变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值