使用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";
}
}
使用AppCan自带的升级功能实现移动端升级的更多相关文章
- 利用其它带文件防护功能的软件防止*.asp;*.jpg写入文件。
此木马是一个.NET程序制作,如果你的服务器支持.NET那就要注意了,,进入木马有个功能叫:IIS Spy,点击以后可以看到所有站点所在的物理路径.以前有很多人提出过,但一直没有人给解决的答案.. 防 ...
- Myeclipse2014 自带的报表功能 与 Eclipse BIRT
Myeclipse2014 自带的报表功能跟 Eclipse BIRT 差不多,但不兼容 1.只能是MyEclipse Web projects 或者 Report Web project不支持B ...
- Ecmall系统自带的分页功能
在Ecmall的二次开发中,分页是必不可少的.这个系统已经自带了分页功能,下面来看看如何使用这个分页. 下面是一个自定义的类,用于查看订单的详细情况.关键在于get_order_data()这个方法, ...
- DEDE自带的采集功能,标题太短的解决方法
DEDE自带的采集功能,标题太短获取不全的解决方法搜索了好多之后,终于还是在dede的官方论坛找到了答案.增加采集标题长度:255 目的:原标题长度太小,影响文件采集⑴修改系统参数设置(文档标题最大 ...
- jQuery.YesShow - 图片轮播插件(带图片放大功能)
jQuery.YesShow - 图片轮播插件(带图片放大功能) 使用简单,原文件只要这样就可以了:<div id="yes"> <ul> ...
- (转)基于企业级证书的IOS应用打包升级功能介绍
IOS应用程序升级流程介绍:IOS手机端应用程序需要升级时,打开服务器端html文件(本文为ucab.html文件)->点击在线安装->打开plist文件(本文中为ucab.plist文件 ...
- NSIS:应用软件自动升级功能的探索与实践
原文 NSIS:应用软件自动升级功能的探索与实践 记得以前轻狂曾分享过使用第三方软件实现应用软件自动升级功能 (详细http://www.flighty.cn/html/soft/20110106_1 ...
- DataGridView如何实现列标头带数据筛选功能,就象Excel高级筛选功能一样
'近日有本论坛网友问:DataGridView如何实现列标头带数据筛选功能,就象Excel高级筛选功能一样 '今晚正好闲着没事,加之以前也没用到过这个需求,所以就写了个模拟功能,供各位坛友酌情参考. ...
- YII关联字段并带搜索排序功能
1.简介 从接触yii框架到现在已经快有两个月了,但是自己对yii框架的了解程度并不是很深,并没有系统地去学习,仅仅只是在做项目的时候遇到不懂得知识才去翻手册. 在上一个项目中因为需要将关联的表的字段 ...
随机推荐
- Asp.NET设置Session过期时间的四种方式
在Asp.net中,可以有四处设置Session的过期时间: 一.全局网站(即服务器)级 IIS-网站-属性-Asp.net-编辑配置-状态管理-会话超时(分钟)-设置为120,即为2小时,即120分 ...
- s3c2440 J-flash 烧写 NOR flash
视屏教程里是在NOR Flash 烧写了一个supervivi然后通过superViVi配合DNW下载Uboot程序到landflash第零块,由于我电脑室64位win7,官方提供的USB下载驱动不能 ...
- jQuery的单选,复选,下拉
单选 获取 ($('input:first').attr('vlaue')); 选中 ($('input:checked').val()); 属性值的设置$().val(属性值)$('input:fi ...
- 机器学习与R语言
此书网上有英文电子版:Machine Learning with R - Second Edition [eBook].pdf(附带源码) 评价本书:入门级的好书,介绍了多种机器学习方法,全部用R相关 ...
- 如何进行shell脚本正确性测试
在实际工作中,需要对shell脚本进行正确性测试. 如何用最快最有效的方式进行测试? 很多开发的习惯是,二话不说,写完/拿到,就跑一把,看看输入,输出,想要的操作是否完成,也就过了. 其实这是十分不严 ...
- MM--发票校验 及基于采购订单的MIRO发票校验过程(
一.介绍发票校验是物料管理(MM)系统的一部分.它提供物料管理部分和财务会计, 成本控制和资产管理部分的连接.物料管理模块的发票校验为以下目的服务:它完成物料采购的全过程 - 物料采购从采购申请开始, ...
- VS2012给同一个解决方案添加多个项目
1.选择文件->添加->新建项目或现有项目 2.接下来在解决方案资源管理器中我们会发现解决方ConsoleApplication1中有两个项目,这里一个是类库项目ClassLibrary1 ...
- Django开发博客- 页面美化
css是一种用来描述某种标记语言写的web站点的样式语言.这里我们并不想展开讨论,关于CSS我在这里推荐一个很不错的资源: Codeacademy HTML & CSS course 不想从头 ...
- 素定位器(ElementLocators)
元素定位器(ElementLocators)告诉Selenium是向HTML中的哪一个元素发送命令.一个定位器的格式如下:locatorType=argument 我们支持如下写法用于定位元素:ide ...
- selenium+python笔记4
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 使用unittest组织用例 ""& ...