Android开发实现查询远程服务器的工具类QueryUtils完整实例
本文实例讲述了Android开发实现查询远程服务器的工具类QueryUtils。分享给大家供大家参考,具体如下:
/**
*查询远程服务器的工具
*@authorchen.lin
*
*/
publicclassQueryUtils{
privatestaticfinalStringTAG="CommonUtils";
privatestaticQueryUtilsinstance;
privateSharedPreferencessp;
privateQueryUtils(Contextcontext){
sp=context.getSharedPreferences(Constant.CONFIG,Context.MODE_PRIVATE);
}
publicstaticQueryUtilsgetInstance(Contextcontext){
if(instance==null){
synchronized(QueryUtils.class){
if(instance==null){
instance=newQueryUtils(context);
}
}
}
returninstance;
}
/**
*请求服务器得到返回值
*
*@paramkeyword
*@return
*@throwsException
*/
publicStringgetValue(Stringkeyword,StringreqType)throwsException{
StringreturnValue=null;
//使用Map封装请求参数
Mapmap=newHashMap();
map.put("reqType",reqType);
map.put("localIP",sp.getString(Constant.NETIP,""));
if(keyword!=null&&!"".equals(keyword)){
map.put("keyword",keyword);
}
Stringurl="http://"+sp.getString(Constant.NETURL,"")+"/ymerp/"+"ServiceDocumentServlet";
returnValue=HttpUtil.postRequest(url,map);
returnreturnValue;
}
/**
*请求服务器得到返回值
*
*@paramkeyword
*@return
*@throwsException
*/
publicStringqueryServer(Stringkeyword,StringreqType,Stringservlet)throwsException{
StringreturnValue=null;
//使用Map封装请求参数
Mapmap=newHashMap();
map.put("reqType",reqType);
map.put("localIP",sp.getString(Constant.NETIP,""));
if(!TextUtils.isEmpty(keyword)){
map.put("keyword",keyword);
}
Stringurl="http://"+sp.getString(Constant.NETURL,"")+"/ymerp/"+servlet;
returnValue=HttpUtil.postRequest(url,map);
returnreturnValue;
}
/**
*将json数组转换为Map对象
*
*@paramjsonString
*@return
*/
@SuppressLint("SimpleDateFormat")
publicstaticHashMapgetMap(StringjsonStr,Stringtitle,StringtimeStr){
SimpleDateFormatyymmdd=newSimpleDateFormat("yyyy-MM-dd");
JSONObjectjsonObject=null;
Stringkey=null;
Objectvalue=null;
try{
jsonObject=newJSONObject(jsonStr);
Iteratorit=jsonObject.keys();
HashMapvalueMap=newHashMap();
while(it.hasNext()){
key=(String)it.next();
value=jsonObject.get(key);
if(key!=null&&title.equals(key)&&value!=null){
Stringvaluestr=value.toString();
if(valuestr.length()>15){
valuestr=valuestr.substring(0,13)+"...";
value=valuestr;
}
}
if(key!=null&&timeStr.equals(key)){
try{
if(value!=null){
Datedate=(Date)value;
value=yymmdd.format(date);
}else{
valueMap.put(key,"");
}
}catch(Exceptione){
}
}
if(key!=null&&value!=null){
valueMap.put(key,value);
}
}
returnvalueMap;
}catch(JSONExceptione){
e.printStackTrace();
}
returnnull;
}
}
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。