OkhttpUtils一个专注于让网络请求更简单的框架

一句话概括,OkHttpUtils一个专注于让网络请求更简单的网络请求框架,对于任何形式的网络请求只需要一行代码。

使用方法:

  1. Json数据
    新建一个JsonCallBack类,用于处理返回的Json数据
public abstract class JsonCallback<T> extends Callback<T> {
    //需要Gson工具解析成某一个类
    private Class<T> mClass;
    //使用谷歌提供的Gson工具解析
    private Gson mGson;

    public JsonCallback(Class<T> clazz){
        mClass = clazz;
        mGson = new Gson();
    }

    @Override
    public T parseNetworkResponse(Response response) throws IOException {
        try {
            String jsonString = response.body().string();
            return mGson.fromJson(jsonString, mClass);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

申请网络请求

private void getMusic(final int offset) {
        OkHttpUtils.get().url(Constants.BASE_URL)
                 //addParams("键","值")
                .addParams(Constants.PARAM_METHOD, Constants.METHOD_GET_MUSIC_LIST)
                .addParams(Constants.PARAM_TYPE, mListInfo.getType())
                .addParams(Constants.PARAM_SIZE, String.valueOf(Constants.MUSIC_LIST_SIZE))
                .addParams(Constants.PARAM_OFFSET, String.valueOf(offset))
                .build()
                .execute(new JsonCallback<JsonOnlineMusicList>(JsonOnlineMusicList.class) {

                    @Override
                    public void onResponse(JsonOnlineMusicList response) {
                       //请求成功后回调
                       //这时就获得了JsonOnlineMusicList的对象response

                    }

                    @Override
                    public void onError(Call call, Exception e) {
                      //请求失败后回调
                    } 
                });
    }

2.下载文件

if (!TextUtils.isEmpty(mJOnlineMusic.getLrclink()) && !lrcFile.exists()) {
            OkHttpUtils.get().url(mJOnlineMusic.getLrclink()).build()
                    .execute(new FileCallBack(FileUtils.getLrcDir(), lrcFileName) {
                        @Override
                        public void inProgress(float progress, long total) {
                        }

                        @Override
                        public void onResponse(File response) {
                        }

                        @Override
                        public void onError(Call call, Exception e) {
                        }

                        @Override
                        public void onAfter() {
                           //请求结束后回调,无论网络请求成功还是失败,都会调用,可以用于关闭显示对话框

                       }
           });
     }

3.下载Bitmap

OkHttpUtils.get().url(picUrl).build()
                    .execute(new BitmapCallback() {
                        @Override
                        public void onResponse(Bitmap bitmap) {

                        }

                        @Override
                        public void onError(Call call, Exception e) {

                    });
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值