我们在做项目中一定少不了网络请求,现在很多公司的网络请求这块好多都是使用一些比较好的开源框架,我项目中使用的是volley,现在讲讲一些volley基本的使用,如果想要详细的了解就要去看它的源码了,现在贴代码讲一些它的使用了,

首先用一个类去封装下它的基本配置信息,以后需要变动的话,就直接在这里做修改,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() {@Overridepublic 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);}}}}@Overridepublic 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对象即可,这样开发效率大大的提高了


更多相关文章

  1. android 源码设计模式之--代理模式(Proxy)
  2. Android(安卓)Architecture Blueprints(架构蓝图)
  3. 关于应用Volley框架 + Android(安卓)网络通信框架Volley简介(Goo
  4. android回调机制总结
  5. 以 Okhttp3源码 为例 ------ 图解 缓存机制 的原理和实现(上)
  6. Android开发入门——Android(安卓)Studio 如何导入他人项目(·刚
  7. 【Android归纳】阿里笔试题之Android网络优化
  8. Android(安卓)sdk 简单的客户端源代码
  9. android调用webservice实现手机归属查询

随机推荐

  1. android之app widget(三)
  2. Android中的通知—Notification .
  3. Android 中 Handler 引起的内存泄露
  4. Android NDK-r4 sample--准备(一)
  5. Android使用Checkbox实现单选 ( 简单使用
  6. android 自定义权限 permission
  7. 使用jenkins+Emma统计Android客户端单元
  8. Android打鸡蛋游戏源码
  9. Android图片堆叠效果实现
  10. Android EditText左右滑动