Flex和AIR之间的转化

在开发RIA应用程序的时候,为了方便客户我们有时候需要将Flex程序转化成AIR程序,这样用户就不需要每次都在浏览器中输入URL了,直接点击桌面上的AIR程序图标就可以快速进入RIA应用程序。AIR程序也给了我们开发人员一些灵活性,方便我们获取用户的文件系统,这在有的情况下是非常重要的。为了把业已完成的Flex程序转化成AIR程序,我们只需要在已有的Flex程序中,把你的主mxml文件复制一下,然后把root tag<mx:Application>改为<mx:WindowedApplication>,再添加一个AIR的描述文件,用amxmlc编译器代替mxmlc编译器来编译我们的AIR相关的文件。这样基本上就可以完成从Flex向AIR转化了,但有时候情况并没有那么简单,比如说我们在Flex程序中用到BrowserManager等浏览器相关的API,而AIR中则没有浏览器等概念,这时候我们就需要修改相关模块和组件了,为了最大限度重复利用已有的代码,我们可以选择Flex SDK提供的条件编译。在已有的Flex程序中把和浏览器相关的API用另一种方式来解决以满足AIR程序的需要,这些和AIR相关的或特有的代码直接放在Flex浏览器相关的代码下面,然后在Flex浏览器相关的代码和AIR特有的代码上面添加条件编译选项就可以在编译的时候有选择的编译了,这样我们在Ant脚本中用mxmlc和amxmlc来编译Flex工程就可以得到我们需要的Flex程序和AIR程序,从而最大限度的利用了已有的工程代码。我们不需要另外创建一个AIR工程,而只需在已有的Flex工程中添加几个文件和修改一些特有的代码,就轻松解决了Flex到AIR之间的转化,至于AIR到Flex之间的转化问题,需要考虑AIR一些特有的扩展的API。

注:在Flex SDK 的frameworks目录下,有两个和Flex与AIR编译相关的文件,这两个文件分别是flex-config.xml和air-config.xml,打开这两个文件分别在</compiler>标记的上面添加

<define>

<name>NAMES::WEB</name>

<value>true</value>

</define>

<define>
    <name>NAMES::AIR</name>
    <value>false</value>
</define>

<define>

<name>NAMES::WEB</name>

<value>false</value>

</define>

<define>
    <name>NAMES::AIR</name>
    <value>true</value>
</define>
这样我们就可以在程序中用条件编译选项了,就像C++中的#IFDEFINE预编译选项差不多。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值