appcan与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";

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值