Android开发实现查询远程服务器的工具类QueryUtils完整实例

作者:LovooGod 时间:2021-11-06 14:57:10 

本文实例讲述了Android开发实现查询远程服务器的工具类QueryUtils。分享给大家供大家参考,具体如下:


/**
* 查询远程服务器的工具
* @author chen.lin
*
*/
public class QueryUtils {
 private static final String TAG = "CommonUtils";
 private static QueryUtils instance;
 private SharedPreferences sp;
 private QueryUtils(Context context){
   sp = context.getSharedPreferences(Constant.CONFIG, Context.MODE_PRIVATE);
 }
 public static QueryUtils getInstance(Context context){
   if (instance == null) {
     synchronized (QueryUtils.class) {
       if (instance == null) {
         instance = new QueryUtils(context);
       }
     }
   }
   return instance;
 }
 /**
  * 请求服务器得到返回值
  *
  * @param keyword
  * @return
  * @throws Exception
  */
 public String getValue(String keyword, String reqType) throws Exception {
   String returnValue = null;
   // 使用Map封装请求参数
   Map<String, String> map = new HashMap<String, String>();
   map.put("reqType", reqType);
   map.put("localIP", sp.getString(Constant.NETIP, ""));
   if (keyword != null && !"".equals(keyword)) {
     map.put("keyword", keyword);
   }
   String url = "http://" + sp.getString(Constant.NETURL, "") + "/ymerp/" + "ServiceDocumentServlet";
   returnValue = HttpUtil.postRequest(url, map);
   return returnValue;
 }
 /**
  * 请求服务器得到返回值
  *
  * @param keyword
  * @return
  * @throws Exception
  */
 public String queryServer(String keyword, String reqType, String servlet) throws Exception {
   String returnValue = null;
   // 使用Map封装请求参数
   Map<String, String> map = new HashMap<String, String>();
   map.put("reqType", reqType);
   map.put("localIP", sp.getString(Constant.NETIP, ""));
   if (!TextUtils.isEmpty(keyword)) {
     map.put("keyword", keyword);
   }
   String url = "http://" + sp.getString(Constant.NETURL, "") + "/ymerp/" + servlet;
   returnValue = HttpUtil.postRequest(url, map);
   return returnValue;
 }
 /**
  * 将json 数组转换为Map 对象
  *
  * @param jsonString
  * @return
  */
 @SuppressLint("SimpleDateFormat")
 public static HashMap<String, Object> getMap(String jsonStr, String title, String timeStr) {
   SimpleDateFormat yymmdd = new SimpleDateFormat("yyyy-MM-dd");
   JSONObject jsonObject = null;
   String key = null;
   Object value = null;
   try {
     jsonObject = new JSONObject(jsonStr);
     Iterator<String> it = jsonObject.keys();
     HashMap<String, Object> valueMap = new HashMap<String, Object>();
     while (it.hasNext()) {
       key = (String) it.next();
       value = jsonObject.get(key);
       if (key != null && title.equals(key) && value != null) {
         String valuestr = value.toString();
         if (valuestr.length() > 15) {
           valuestr = valuestr.substring(0, 13) + "...";
           value = valuestr;
         }
       }
       if (key != null && timeStr.equals(key)) {
         try {
           if (value != null) {
             Date date = (Date) value;
             value = yymmdd.format(date);
           } else {
             valueMap.put(key, "");
           }
         } catch (Exception e) {
         }
       }
       if (key != null && value != null) {
         valueMap.put(key, value);
       }
     }
     return valueMap;
   } catch (JSONException e) {
     e.printStackTrace();
   }
   return null;
 }
}

希望本文所述对大家Android程序设计有所帮助。

来源:http://blog.csdn.net/lovoo/article/details/51386855

标签:Android,服务器,工具类
0
投稿

猜你喜欢

  • springboot整合企微webhook机器人发送消息提醒

    2023-10-10 01:29:08
  • Android应用内悬浮窗的实现方案示例

    2022-05-07 20:29:24
  • 基于android实现五子棋开发

    2022-05-22 14:21:43
  • JAVA IO API使用详解

    2021-07-27 14:45:48
  • C#实现获取Excel中图片所在坐标位置

    2021-10-14 23:36:18
  • Java中synchronized的几种使用方法

    2023-06-19 16:33:28
  • java中的基础运算符

    2022-06-23 04:19:38
  • SpringMVC使用ResponseEntity实现文件上传下载

    2023-08-20 02:10:58
  • Android实现GPS定位代码实例

    2022-07-14 17:26:21
  • Android仿微信之界面导航篇(1)

    2022-07-06 06:59:50
  • Visual Studio 2019 清理空行问题(非正则表达式)

    2023-10-27 16:05:22
  • IDEA2022版本创建maven web项目的两种方式详解

    2022-04-24 19:34:54
  • .NET C#利用ZXing生成、识别二维码/条形码

    2022-03-25 12:20:45
  • 详解Kotlin:forEach也能break和continue

    2022-05-03 01:24:10
  • C#装箱和拆箱原理详解

    2021-12-29 16:07:26
  • WinForm项目开发中Excel用法实例解析

    2022-07-11 10:23:03
  • C# 常用日期时间函数(老用不熟)

    2021-08-21 10:12:18
  • mybatis注解与xml常用语句汇总

    2022-05-17 18:39:47
  • Java多线程下解决数据安全问题

    2022-05-16 04:48:45
  • Android实现简单旋转动画

    2023-11-07 09:50:58
  • asp之家 软件编程 m.aspxhome.com