zoukankan      html  css  js  c++  java
  • 使用AppCan自带的升级功能实现移动端升级

    1.需要在AppCan项目的config.xml文件中设置“更新地址”,即在执行uexWidget.checkUpdate();时访问的后台页面地址,比如:

      http://192.168.0.10:8888/XXXX/servlet/CheckUpdateServlet

    2.在后台CheckUpdateServlet.java文件中

      A.获取移动端自带的两个参数:ver,platform

      String oldVer = request.getParameter("ver");   //目前移动端app的版本号,如:00.00.0000
      String platform = request.getParameter("platform");   //移动端类型,ios:0,android:1

      B.根据官方的格式,准备最新app的数据,xml格式:  

      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
      DocumentBuilder db = dbf.newDocumentBuilder();
      Document doc = db.newDocument();
      Element node = doc.createElement("results");

      Element node1 = doc.createElement("updateFileName");
      node1.setTextContent("xxx");  //移动端安装文件的文件名
      node.appendChild(node1);

      Element node2 = doc.createElement("updateFileUrl");
      node2.setTextContent("xxxx");  //Android:移动端安装文件在服务器上的地址,ios:移动端安装文件在AppStore中的地址
      node.appendChild(node2);

      Element node3 = doc.createElement("fileSize");
      node3.setTextContent("10000");  //移动端安装文件的大小
      node.appendChild(node3);

      Element node4 = doc.createElement("version");
      node4.setTextContent("00.00.0001");  //移动端安装文件最新版本号
      node.appendChild(node4);

      doc.appendChild(node);

      OutputFormat xmlout = new OutputFormat(doc);
      /** 设置编码方式 */
      xmlout.setEncoding("UTF-8");
      /** 保留原有的换行 */
      xmlout.setPreserveSpace(true);
      /** 采用换行缩进 */
      xmlout.setIndenting(true);
      StringWriter sw = new StringWriter();

      XMLSerializer xmlSerilizer = new XMLSerializer(sw,xmlout);
      xmlSerilizer.serialize(doc);
      retValue = sw.toString();

    3.前台移动端处理服务器返回数据:

    //AppCan根据后台返回的xml数据,自动转换信息

    uexWidget.cbCheckUpdate = function(opCode, dataType, jsonData) {

      var obj = eval('(' + jsonData + ')');
      var tips = '';

      if (obj.result == 0) {

        updateurl = obj.url;
        var mycars = ['稍后', '更新'];
        uexWindow.confirm('', '当前有新版本,是否更新?', mycars);
      } else if (obj.result == 1) {

        tips = "Current version is the newest";
      } else if (obj.result == 2) {

      tips = "Unknow error";
      } else if (obj.result == 3) {

      tips = "Params error";
      }
    }

  • 相关阅读:
    Google搜索引擎如何运作:不会手动调整结果
    一个Ruby脚本
    IE灭绝!?
    除Windows之外的其他操作系统
    刚收到的新书
    奇怪的计算机语言
    小巧的menuetOS
    Ruby学习笔记(1)
    一个通知
    总结 asp.net 和 javascript获取本地IP(MAC)和服务器IP(MAC)的方法
  • 原文地址:https://www.cnblogs.com/xingkai/p/4867301.html
Copyright © 2011-2022 走看看