android 项目中使用到的网络请求框架以及怎样配置好接口URL
2016-01-31 13:27
916 查看
我们在做项目中一定少不了网络请求,如今非常多公司的网络请求这块好多都是使用一些比較好的开源框架,我项目中使用的是volley,如今讲讲一些volley主要的使用,假设想要具体的了解就要去看它的源代码了,如今贴代码讲一些它的使用了,
首先用一个类去封装下它的基本配置信息,以后须要变动的话,就直接在这里做改动,android最好能把每一个功能都独立出来,这样做改动的话 不会导致出现其它的bug,特别在有新员工进入到项目组中,分配任务沟通起来也省事,
ProtocolManager.java 它是一个单例
关键代码
我们在调接口的时候 仅仅须要这样:
ProtocolEnum.java
首先用一个类去封装下它的基本配置信息,以后须要变动的话,就直接在这里做改动,android最好能把每一个功能都独立出来,这样做改动的话 不会导致出现其它的bug,特别在有新员工进入到项目组中,分配任务沟通起来也省事,
ProtocolManager.java 它是一个单例
关键代码
private ProtocolManager(Context context){ initLoadBitmapConfig(context); mQueue = Volley.newRequestQueue(context); }
我们在调接口的时候 仅仅须要这样:
Map<String,String> param = new HashMap<String, String>(); param.put("checksum", 0+""); ProtocolManager.getInstance().request(ProtocolEnum.URL_CONSTANCE_CONF_REGIONS,param,new RequestListener() { @Override public void onRequestSucess(String response) { if(!TextUtils.isEmpty(response)){ AllProvinceInfo provinceInfo = JsonHelper.json2Bean(response, AllProvinceInfo.class); if(provinceInfo!=null&&provinceInfo.getRet()==1){ provinces = provinceInfo.getItems(); if(provinces!=null&&provinces.size()>0){ /** * 把请求的json数据缓存到sd卡中 */ DataManager.getInstance(UIUtils.getContext()).saveCacheStr(CACHE_AREA, response); mHandler.sendEmptyMessage(AREA_CODE_SUCCESS); }else { mHandler.sendEmptyMessage(AREA_CODE_EMPTY); } } } } @Override public void onRequestFiled(String errorMsg) { mHandler.sendEmptyMessage(AREA_CODE_FAIAL); } });
request中的方法
public void request(ProtocolEnum protocolEnum,final Map<String,String> params ,final RequestListener listener){ int type = protocolEnum.type; String url = protocolEnum.value; switch (type) { case ConfigManager.REQ_POST: requestPost(url, params,listener, false); break; case ConfigManager.REQ_GET: requestGet(url, params,listener, false); break; } }第一个參数是一个枚举,里面包括了这个url地址和请求方式
ProtocolEnum.java
public enum ProtocolEnum { URL_PROFILE_INTRODUCTION_GET("user/profile/introduction",ConfigManager.REQ_GET);//下拉个人简单介绍 public String value; public int type; private ProtocolEnum(String value, int type) { this.value = value; this.type = type; } }这就是怎样非常好的管理请求的URL,最后在Volley请求它会有个成功或者失败的回调,把json数据,这样以后我们新增一个接口,仅仅要copy,改一下返回的model对象就可以,这样开发效率大大的提高了
相关文章推荐
- 网络——获取Web数
- iOS开发-- 常见坑(网络下载失败)
- HTTP 协议漫谈
- PHP获得真实客户端的真实IP REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
- OKHttp3.0的日常及入门
- 禁用APP Transport Security以访问http链接
- Android 网络通信API的选择和实现实例
- 交叉编译tcpdump
- http原理
- Hadoop—distcp
- 【转】TCP层的分段和IP层的分片之间的关系 MTU和MSS存在的关系
- HTTP 响应
- 设置笔记本与台式电脑网络共享
- Linux IPv6网络编程之UDP实例
- 网络工具类
- 2016太原网络营销师郭文军分享网站中如何合理布局关键词?
- 【NYOJ】[199]无线网络覆盖
- ntpdate同步网络时间
- DNS分别在什么情况下使用UDP和TCP
- java32.HTTP通信------使用Http的Get方式读取网络数据