package com.chinaztt.fdv;
import android.content.Context;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Map;
/**
* 当前类注释:
* 项目名:FastDev4Android
* 包名:com.chinaztt.fdv
* 作者:江清清 on 15/11/11 22:59
* 邮箱:jiangqqlmj@163.com
* QQ: 781931404
* 公司:江苏中天科技软件技术有限公司
*/
public class Fdv_BaseRequest<T>{
private static final String TAG=Fdv_BaseRequest.class.toString();
private static final String DEFAULT_PARAMS_ENCODING = "UTF-8";
protected static RequestQueue requestQueue;
private Context mContext;
protected Fdv_BaseRequest(Context pContext){
this.mContext=pContext;
requestQueue=Fdv_Volley.getInstace(mContext);
}
/**
* 请求加入到Volley Request请求队列中
* @param request
*/
protected void addRequest(Request request){
this.addRequest(request,null);
}
/**
* 请求和请求参数 加入到Volley Request请求队列中
* @param request
* @param params
*/
protected void addRequest(Request request,Map<String,String> params){
//请求中添加 请求参数
request.setParams(params);
requestQueue.add(request);
}
/**
* 根据请求地址和请求参数进行拼接成新的请求地址
* @param url 请求服务器地址
* @param params 请求参数
* @return 拼接过后的地址
*/
protected String createGetUrlWithParams(String url,Map<String,String> params){
if(params!=null){
StringBuffer stringBuffer=new StringBuffer(url);
if(!url.contains("?")){
stringBuffer.append('?');
}
for(Map.Entry<String,String> entry:params.entrySet()){
String key=entry.getKey().toString();
String value=null;
if(entry.getValue()==null){
value="";
}else {
value=entry.getValue().toString();
}
stringBuffer.append(key);
stringBuffer.append("=");
try {
Fdv_Log.d(TAG,"get获取数据的key:"+key);
Fdv_Log.d(TAG,"get获取数据的value:"+value);
value= URLEncoder.encode(value, DEFAULT_PARAMS_ENCODING);
Fdv_Log.d(TAG,"get编码后value:"+value);
stringBuffer.append(value);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
stringBuffer.append('&');
}
//删除最后一个'&'
stringBuffer.deleteCharAt(stringBuffer.length()-1);
url=stringBuffer.toString();
}
Fdv_Log.d(TAG,"get请求地址url:"+url);
return url;
}
}