air 桌面软件版本自动更新 air update framework入门

AIR update framework 入门

文章分类:Flash编程

 

 

 

http://gain-loss.org/?p=734

AIR update framework 入门

 

 

 

AIR update framework可以让你的AIR应用程序支持更新,并且已经被AIR 1.5支持。

准备

AIR update framework已经加入到最新的flex sdk了。我一直用的是flex builder3,sdk是3.0.0,所以需要下载最新的sdk 3.4.0和air 1.5 sdk。上http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3http://www.adobe.com/products/air/tools/sdk分别下载吧。把他们解压到一个文件夹里(不会有覆盖的),这样最新的sdk就弄好了。下面就可以配置到flex builder里,不清楚的可以见这里

update原理

说来也比较简单(adobe的framework也不见得多高明),在网站上准备一个update.xml来定义更新的信息,比如最新的版本号和对应的AIR文件。air update framework api 会去访问那个update.xml和现在的版本号比较,如果有更新就下载update.xml定义的air文件并安装,来达到更新的目的。

开始开发

首先我们需要了解下AIR update framework API。打开livedoc,找到air.update.*,它的API不多,我们主要关注这个,ApplicationUpdaterUI,它所管理的就是update的整个过程和界面。网上有介绍说是用configuration file来定义update过程,这是可以的,不过我发现简单的设置下ApplicationUpdaterUI也有同样的效果。入门嘛当然看简单的。设置的话要关注几个isXXXXVisible样式的public property,它们就是定义某些界面是否可见,比如isCheckForUpdateVisible,就是指一个检查是否有更新的界面是否会显示,如果你想要悄悄的检测而不弹出界面的话就设false。默认的它们都是true。来看看我的代码:

private var _updater:ApplicationUpdaterUI = new ApplicationUpdaterUI();
 
private function onLoad():void
{		
	//updater framework
	_updater.updateURL = "http://gain-loss.org/wp-content/myprojects/jonftp/update.xml";
	_updater.isCheckForUpdateVisible = false;
				  _updater.addEventListener(UpdateEvent.INITIALIZED, onUpdateInitializedHandler);
	_updater.initialize();
}
 
private function onUpdateInitializedHandler(event:UpdateEvent):void
{
	_updater.checkNow();
}

差点忘了介绍updateURL,它就是前面所说的update.xml(名字可以变)。当air update framework initialized 以后就可以开始check了(方式随你),由于我把isCheckForUpdateVisible设为false,检查更新的界面就不会显示,如果有更新它就会直接弹出提醒页面的。下面?没有啦,air update framework都帮我们做掉了,开始测试吧。

我遇到的几个ERROR

  • 16824:注意下版本号的写法,反正我一开始写了v0.1什么的,好像就报这错误,如果改成0.1这样的标准格式,就没事。
  • 16828:注意了,在flex builder里测试就会遇到这样的错误,安装好了就不会。

这篇是对《AIR update framework入门》补充,那次忘了对update.xml做个介绍。建议你先浏览下那篇文章。update.xml是部署在服务器上的“更新文件”,简单的将,它是个配置文件,用来告诉你的AIR程序,比如目前的最新版本号啦,更新文件在哪里啦,还有经典的“what’s new”啦等等。下面是一个例子:

<?xml version="1.0" encoding="utf-8" ?>

- < update xmlns =" http://ns.adobe.com/air/framework/update/description/1.0 ">
  < version > 1.2 </ version >
  < url > http://192.168.39.248:8080/Update/AutoUpdate.air </ url >
- < description >
- <![CDATA[
1 This is a test appliction
2 how do you think about it.
		
  ]]>
  </ description >
  </ update >

相信也没啥好解释的,基本上这么个结构就能对付大多数需要了。version就是当前的更新版本号,可能会疑惑,更新包的版本号和version是不是一样呢,我个人认为不必相同(最好一样啦),因为更新包是一个打包好(压缩过)的文件,读取它的版本信息不太现实,于是才有这个version节点的出现。description的内容会显示在更新界面的下方,让用户了解下新版本有哪些改动。

其实观察下air update framework,也算比较简单易用了。如果你打算要点牛X的功能(update的确需要长远的考虑),还是建议要好好的扩展下update.xml,比如针对不同旧版本有不同的升级方案,强制升级等等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值