如何在Android使用OkHttpUtils实现二次封装?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。OkHttpUtils为什么进行二次封装?减少代码量2、后期换网络处
如何在Android使用OkHttpUtils实现二次封装?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
OkHttpUtils为什么进行二次封装?
二次封装的实现原理
将网络请求提取在一个方法中
2、对里面的可变参数,可以通过参数传递过去,也可以提供一个set方法传递过去
3、对于请求失败和成功,我们可以使用接口回调,让调用该方法的对象处理
封装后的网络处理类的功能
网络请求
2、xml数据转换成javaBean
每一个处理网络请求的ListView都要处理的3数据方法
初始化数据
2、下拉刷新数据
3、上拉加载数据
封装前的代码
private void onDealLoadmore() { //资讯的网络请求地址 String newsUrl = Constant.NEWS_URL; //http://www.oschina.net/action/api/news_list?pageIndex=0&catalog=1&pageSize=20 //关闭springView mSpringView.onFinishFreshAndLoad(); //网络请求 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) { Toast.makeText(mContext, "上拉加载失败", Toast.LENGTH_SHORT).show(); } @Override public void onResponse(String response, int id) { //请求成功,将字符串转为javaBean,并获取里面的泛型为News的集合 NewsList newsList = XmlUtils.toBean(NewsList.class, response.getBytes()); //对请求的数据进行非空判断 if (newsList != null) { List<News> list = newsList.getList(); if (list != null && list.size() > 0) { //数据的更新 mData.addAll(newsList.getList()); //适配器的更新 mMyNewsPagerAdapter.notifyDataSetChanged(); //请求页的索引要加1 ++mCurrentPageIndex; } } } }); }
--结束END--
本文标题: 如何在Android使用OkHttpUtils实现二次封装
本文链接: https://lsjlt.com/news/224999.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0