对Volley框架进行二次封装,减少重复代码的编写;通过不同的Request使用链式调用获取数据并封装成对应的格式;同时将使用Volley请求网络图片进行封装。
在 Application
类中初始化
RVHttpUtil.initRequestQueue(this); // 初始化获取数据类
RVImageLoadUtil.initImageQueue(this); // 初始化加载图片类
-
获取
String
类型的数据Map<String, String> params = new HashMap<>(); params.put("city", "杭州"); RStringRequest.create() .method(IRequest.Method.GET) .url("https://www.apiopen.top/weatherApi") .params(params) .tag("GetStringData") .build() .execute() .onResult(new ResultCallBack.ResultListener<String>() { @Override public void onSucceed(String result) { tvContent.setText("onSucceed => " + result); Log.i("StringDataActivity", "onSucceed => " + result); } @Override public void onNetWork() { Log.i("StringDataActivity", "onNetWork"); } @Override public void onError(Throwable e) { tvContent.setText("onError => " + e); Log.i("StringDataActivity", "onError => " + e); } });
-
加载图片
RVImageLoadUtil.newInstance().loadImageByRequest(url, ivContent);
RStringRequest
:返回字符串类型数据RBeanRequest
:返回JavaBean类型数据RJsonObjectRequest
:返回JSONObject
类型数据RJsonArrayRequest
:返回JSONArray
类型数据RByteArrayRequest
:返回byte
数组 类型数据RFormRequest
:上传表单数据RMultipartRequest
:上传文件