Decloud实现Android和iOS热更新,下载更新文件进度条
2017-04-27 15:08
1171 查看
第一步,生成wgt文件
第二步,下载wgt文件,同时显示下载的进度
下面是下载wgt文件的完整代码:
下面是每次打开APP获取更新的请求方法,在这里我是检测APP的版本号是否是最新,如果不是最新的版本,就会提示下载更新文件:
这一步很简单,就是直接在Hbuilder中,发行 => 制作APP升级资源包 是wgt格式的文件。
第二步,下载wgt文件,同时显示下载的进度
这一步骤主要是应用了5+的东西。获取下载文件的大小和已经下载文件的大小。可以处理一下,就会实现实时下载的进度, 当然要写在下载发生变化的函数内:statechanged
下面是下载wgt文件的完整代码:
var wgtWaiting = null; function downWgt() { wgtWaiting = plus.nativeUI.showWaiting("开始下载"); var wgtUrl = "http://192.168.101.148:7004/AppUpdateWgt/H54BA566C.wgt"; var wgtOption = { filename: "_doc/update/", retry: 1 }; var task = plus.downloader.createDownload(wgtUrl, wgtOption, function (download, status) { if (status == 200) { wgtWaiting.setTitle("开始安装"); installWgt(download.filename); } else { mui.alert("应用升级失败!"); wgtWaiting.close(); } }); task.addEventListener("statechanged", function (download, status) { switch (download.state) { case 2: wgtWaiting.setTitle("已连接到服务器"); break; case 3: var percent = download.downloadedSize / download.totalSize * 100; wgtWaiting.setTitle("已下载 " + parseInt(percent) + "%"); break; case 4: wgtWaiting.setTitle("下载完成"); break; } }); task.start(); }; function installWgt(wgtpath) { plus.runtime.install(wgtpath, {}, function (wgtinfo) { wgtWaiting.close(); mui.alert("更新完成,须重启应用!", function () { plus.runtime.restart(); }); }, function (error) { wgtWaiting.close(); mui.alert("应用更新失败!\n" + error.message); }); };
下面是每次打开APP获取更新的请求方法,在这里我是检测APP的版本号是否是最新,如果不是最新的版本,就会提示下载更新文件:
//自动更新,检验在登陆之前就开始执行 plus.runtime.getProperty(plus.runtime.appid,function(inf){ var wgtVer = inf.version; $.ajax({ type:"post", url:"http://192.168.101.148:7004/GDPaymentCenterServer_FromService/AjaxServlet.do", dataType:"json", data:"{'method':'checkVersion','checkValue':'mainsoft','Rows':{'version':'"+wgtVer+"'}}", success:function(data){ console.log(data.Success); if(data.Success == "false"){ mui.confirm('做了一些体验优化,使用更加顺手。','发现新版本',['立即更新','下次再说'],function(e){ if(e.index==0){ downWgt(); }else{ return; } }) }else{ return; } }, error:function(err){ } }); });
相关文章推荐
- Android中使用AsyncTask实现文件下载以及进度更新提示
- Android中使用AsyncTask实现文件下载以及进度更新提示
- Android中使用AsyncTask实现下载文件动态更新进度条功能
- Android中使用AsyncTask实现文件下载以及进度更新提示
- Android中使用AsyncTask实现文件下载以及进度更新提示
- Android实现文件下载进度显示功能
- iOS开发之网络编程--4、NSURLSessionDataTask实现文件下载(离线断点续传下载) <进度值显示优化>
- iOS开发之网络编程--4、NSURLSessionDataTask实现文件下载(离线断点续传下载) <进度值显示优化>
- struts2中通过Action以InputStream的下载文件以及在iOS以及Android端接收的实现方式
- Android文件下载进度条的实现
- Android实现Service下载文件,Notification显示下载进度
- Android服务器——使用TomCat实现软件的版本检测,升级,以及下载更新进度!
- Android文件下载进度条的实现
- Android文件下载进度条的实现
- android 实现具有进度描述的多列表文件下载
- Android文件下载进度条的实现
- Android 文件下载,断点续传,进度更新
- Android文件下载进度条的实现代码
- Android 文件下载进度条的实现
- Android 实现应用下载并在通知栏展示进度通知 打开APK文件