android 项目中使用到的网络请求框架以及如何配置好接口URL

本文介绍了一种使用Volley框架进行网络请求的方法。通过封装基本配置信息,实现了接口调用的简化,提高了开发效率。文章提供了具体的代码示例,展示了如何管理和调用不同类型的网络请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在做项目中一定少不了网络请求,现在很多公司的网络请求这块好多都是使用一些比较好的开源框架,我项目中使用的是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() {
			@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对象即可,这样开发效率大大的提高了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值