欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-01-01 17:24:19
本文实例讲述了android开发实现查询远程服务器的工具类queryutils。分享给大家供大家参考,具体如下: /** * 查询远程服务器的工具 * @...

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《android开发入门与进阶教程》、《android视图view技巧总结》、《android编程之activity操作技巧总结》、《android操作sqlite数据库技巧总结》、《android操作json格式数据技巧总结》、《android数据库操作技巧总结》、《android文件操作技巧汇总》、《android编程开发之sd卡操作方法汇总》、《android资源操作技巧汇总》及《android控件用法总结

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