时间:2021-05-20
OkHttpUtils网络请求为什么进行二次封装?
1、减少代码量
2、后期换网络处理框架方便
二次封装的实现原理
1、将网络请求提取在一个方法中
2、对里面的可变参数,可以通过参数传递过去,也可以提供一个set方法传递过去
3、对于请求失败和成功,我们可以使用接口回调,让调用该方法的对象处理
封装后的网络处理类的功能
1、网络请求
2、xml数据转换成javaBean
每一个处理网络请求的ListView都要处理的3数据方法
1、初始化数据
2、下拉刷新数据
3、上拉加载数据
封装前的代码
/** * 3,加载更多 * 注意事项: * 请求成功数据更新之后,要关闭SpringView */ private void onDealLoadmore() { //资讯的网络请求地址 String newsUrl = Constant.NEWS_URL; //http:// * Description:网络请求和数据解析 */public class NewsPagerProtocol { private int mCurrentPageIndex; public void setCurrentPageIndex(int currentPageIndex) { mCurrentPageIndex = currentPageIndex; } public void loadData(final Callback callback) { //资讯的网络请求地址 String newsUrl = Constant.NEWS_URL; //http:///action/api/news_list?pageIndex=0&catalog=1&pageSize=20 //网络请求 OkHttpUtils .get() .url(newsUrl) .addParams("pageIndex", mCurrentPageIndex + "")//固定 .addParams("catalog", "1")//固定,1代表资讯 .addParams("pageSize", "20")//因为,一页加载20条数据 .build() .execute(new StringCallback() { @Override public void onError(Call call, Exception e, int id) { //因为返回失败处理的请求不一样,所以不处理,交给调用的方法处理 callback.onError(call, e, id); } @Override public void onResponse(String response, int id) { //请求成功,将字符串转为javaBean,并获取里面的泛型为News的集合 NewsList newsList = XmlUtils.toBean(NewsList.class, response.getBytes()); //将转换后的数据通过接口回调,返回给调用方法的 callback.onResponse(newsList, id); } }); } public interface Callback { public void onError(Call call, Exception e, int id); public void onResponse(NewsList newsList, int id); }}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Android中Volley二次封装并实现网络请求缓存Android目前很多同学使用Volley请求网络数据,但是Volley没有对请求过得数据进行缓存,因此需
什么是SpringCloudEurekaSpringCloudEureka是SpringCloud中的一个组件,它是基于NetflixEureka做了二次封装,
二次封装axios,根据参数来实现多个请求多次拦截1.新建axiosTool.js文件,设置请求拦截和处理的逻辑importVuefrom'vue'import
由于ElementUI目前还未开发树形表格组件,也参阅了网络上部分基于ElementUI表格封装的开源树形组件,如果想进行二次开发的话都不太理想,所以就萌生了自
之前需要对el-button做二次封装,所以就用到vue的$attrs和$listeners属性,这两个属性在这不细说,可以在这里查看详情。二次封装代码(lim