AIR桌面应用开发“自动更新”机制
作者:netice 转载请标明来自 4yue.net
技术: ApplicationUpdaterUI\\ApplicationUpdater 类使用
由于最近做了个地图编辑给美术用,又不想每次都发给他最新版本的包,于是想到使用AIR的自动框架更新机制。
作者现在用的是 AIR3.8 版本比较新,看了下帮助文档,没搞太明白,又到网上搜索了下大多数是低版本的一些教程,浪费了我2个小时时间终于研究明白,特来发个扫盲的小文章。
目前 AIR桌面应用更新的机制大概3种.
1 用户下载最新的版本,自己安装覆盖。(话说旧版本可以覆盖新版本)
这种方式没啥不好,只是必须告诉对方在那下载,或者你传给他。
2 使用 flash.desktop.Updater 类 (此方法必须用户下载对应版本,然后通过当前AIR程序启动更新)
通过上面代码看出,必须 程序中设置好对应的更新版本号,而且当前下载的也必须是对应版本才能更新。很大的严谨性和目的性。不适合小白自动更新。
3 使用 air.update.ApplicationUpdaterUI 或者 ApplicationUpdater
这种是自动更新机制,个人认为这个比较酷!
来说说如何使用。
首先,AIR程序中 定义ApplicationUpdaterUI 变量,实例化一个对象来做这事。
具体代码这样,我单独写了个单例来做这事
上面是集成到你的AIR程序内部的东西,至于什么时候调用,看你自己的需求,我放了个更新按钮让他自己触发,也设置了1周后自动检测更新。 下面是 刚刚的MapEdit_update.xml 文件配置,这个是关键配置错了更新报错了,作者开始一直报 16815 错误。
这个地方这样配置
说明下2个关键的部分 一个是<update xmlns=>
这个域标签最好设置成 2.5或者更高版本,因为 1.0或者 低版本 更这个描述文件有差别 会报16815错误无法识别你的更新文件描述
还一个是 <url>里面放你的air文件的路径</url>
再强调下 这个路径下的air文件的版本号 必须和 描述文件<versionNumber>版本号</versionNumber> 一致才行。
如果你看到你的更新描述里面的中文描述是乱码,请把这个XML另存为UTF-8格式再上传到你的web就好。
基本上OK。当然你也可以用 ApplicationUpdater类,使用方法一样,只是没有默认的UI而已。
这是我一个成功运行的截图。
本文固定链接: http://www.4yue.net/post-11.html
发表评论