让你的AIR程序自动检测,下载,安装更新

来源:互联网 发布:合肥英语培训 知乎 编辑:程序博客网 时间:2024/06/06 19:55
 原创,转载请注明,呵呵 :http://www.cnblogs.com/xxcainiao/archive/2008/04/29/1176679.html

无论小组开发,还是将来程序发布,每次手动下载,安装AIR程序,都是件很不爽的事情,如何让AIR程序自动检测,下载,安装更新呢?
用到国外牛人everythingFlex的一个类,
那就首先下载他的这个类包吧:    http://everythingflexairlib.googlecode.com/files/everythingflexairlib.swc

1:把类包copy到你工程的libs文件夹。

2:命名空间导入类包:
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" f width="770" height="535" backgroundColor="0x787878"
     applicati showFlexChrome="false"
     xmlns="com.everythingflex.air.components.*">
3:在script代码段导入包,并生成对象,调用方法:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script>
        <![CDATA[
            import com.everythingflex.air.managers.UpdateManager;
            private var um:UpdateManager = new UpdateManager("http://www.yourdomain.com/AIR/UMTest/version.xml",false);
        ]]>
    </mx:Script>
    <mx:Button click="um.checkForUpdate()" label="Test for Update"
        horiz verticalCenter="0"/>
</mx:WindowedApplication>

第一个参数是检测版本XML文件的路径
第2个参数我使用false,这个代表是否自动检测新版本。TRUE为是,FALSE为否。

现在说一下用来检测版本的XML文件,它告知程序要更新到哪一个版本:
<?xml version="1.0" encoding="ISO-8859-1"?>
<currentVersion version=".2"
                       downloadLocation="http://www.yourdomain.com/AIR/UMTest/UM.air"   
                       forceUpdate="false"
                       message="Added new features"/>
downloadLocation是新版本程序的路径。
forceUpdate,是否弹出警告框,提示用户更新程序。
message,警告框中的详细信息。


4:最后,一定不要忘记在发布程序之前设定当前的版本和参见版本XML文件中的版本号不同,才可以更新。
在工程的XML文件(设置AIR程序属性的XML文件,和上面提到的检测版本XML文件不同,这个XML文件和主程序mxml文件在一个目录)
大概在第26,27行:
<!-- An application version designator (such as "v1", "2.5", or "Alpha 1"). Required.-->
   
<version>.2</version>