23.1.借助Flex Framework创建一个AIR程序

23.1.1.问题
我想使用Flex和AIR APIs创建桌面应用程序。
23.1.2.解决办
创建主应用程序文件,在MXML中用<mx:WindowedApplication>作为根标签,还有一个应用程序描述文件用于提供安装,访问和运行程序所需要的属性信息。
23.1.3.讨论
用Flex框架开发基于AIR的程序非常类似于开发Web用途的Flex程序,AIR程序提供与操作系统通信的能力。当开发基于Web 的Flex 程序时, 主应用程序文件包含的根标签是<mx:Application>。因为AIR程序使用本地操作系统窗体运行在桌面上,所以主应用程序文件的根标签是<mx:WindowedApplication> 。

mx.core.WindowedApplication类扩展自mx.core.Application并提供了与本地操作系统窗体相关联的属性和方法。WindowedApplication是AIR程序的主窗口,进而生成其他本地窗体,访问文件系统,与操作系统交互等你所期望的大多数桌面程序应有的功能。

下面的例子是一个简单的AIR程序主文件:
+展开
-XML
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="verticaltitle="Hello World">

<mx:Label text="Welcome to AIR" />
</mx:WindowedApplication>

当程序运行时,标题Hello World将会显示在程序窗口的标题栏以及系统任务栏上。文字Welcome to AIR被显示在屏幕上。

通过Flex 3 SDK的bin目录下的amxmlc命令行工具来编译air源程序。它使用起来和mxmlc工具差不多,只不过后者是编译Flex以及基于ActionScript的程序。当你运行mxmlc工具时,它会使用默认的frameworks目录下的flex-config.xml配置文件。而amxmlc工具使用air-config.xml配置文件和/libs/ari目录下的airglobal.swc 库文件。

把/bin目录添加到系统路径后,可直接打开命令行窗口输入以下命令:
>amxmlc HelloWorld.mxml
这会生成一个HelloWorld.swf 文件。如果你点击这个SWF文件,除了背景颜色你看不到任何东西,这是因为它现在运行在Flash Player之上。对于AIR程序,你需要让它运行在Adobe AIR运行时环境下。生成的SWF文件是部署和打包AIR程序的必要文件之一,还有一个文件就是程序描述文件。

应用程序描述符是一个XML文件,规定了一些被用来安装,运行,识别AIR程序所需的属性信息。这个文件在开发部署和打包分发阶段是必须的。除应用程序安装的具体目录和关联的图标文件以外,程序描述符让你在程序运行后变为只读之前先设置好应用程序窗体的窗体属性。

下面是一个很基本的应用程序描述文件:
+展开
-XML
<application xmlns="http://ns.adobe.com/air/application/1.0">
<id>com.oreilly.flexcookbook.HelloWorld</id>
<filename>HelloWorld</filename>
<name>Hello World</name>
<version>0.1</version>
<description>A Hello World Application</description>
<initialWindow>
<content>HelloWorld.swf</content>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<visible>true</visible>
<width>400</width>
<height>400</height>
</initialWindow>
</application>

这些参数集只是所有属性中的一部分,不过这些都是很常用的配置信息。<application> 标签是描述文件的根标签且有个属性是指向AIR名称空间的URI。名称空间最后面的(1.0)是指该程序运行所需要的AIR运行时版本。

描述文件所需的参数有:<id>, <filename>, <version>, 和<initialWindow> 标签以及<content>子节点。Id是程序的标志符且是唯一的,因此,我们推荐用反写的域名作为其值。ID还被用作安装时程序的存储目录。

Filename被用来指向操作系统中的该程序,包括程序的执行名称以及安装目录名。Version指明程序的版本号,一般不需要,但是在升级程序时是必需的。

Content是<initialWindow> 的节点,指出将被AIR载入的主应用程序SWF文件,这个SWF文件正是用amxmlc命令行工具生成的。

除此之外,在这个例子中还添加了<name>, <description>, name和description值将在程序安装界面显示,<initialWindow>的systemChrome, transparent, 和visible节点和程序窗口的外观有关系。这些属性可以在描述文件里设置,也可以在根标签<mx:WindowedApplication>里作为属性设置,但是在程序运行后,这些属性将都变为只读状态。Width和height属性指明窗口大小,这是可选的属性。

加支付宝好友偷能量挖...


评论(0)网络
阅读(77)喜欢(0)flash/flex/fcs/AIR