AIR2.0入门教程:新特性介绍以及开发环境的配置

来源:互联网 发布:英语在线朗读软件 编辑:程序博客网 时间:2024/05/09 13:49

这两天对Flasher来说最大的新闻应该就是FlashPlayer10.1和AIR2.0发布了,虽然都是Beta版,但其中的新特性还是足以引起我们的关注。在本系列文章中,我们暂且探讨AIR2.0,关于FlashPlayer10.1的内容我们会在其它的文章中做详细阐述。

AdobeAIR现在的正式版本是1.5,当然经过开发者这么长时间的开发体验和应用部署,AIR的一些薄弱环节日益显露出来了,包括无法与本地应用程序进程通讯,无法识别USB大容量存储设备等等。Adobe的AIR团队通过征集开发者和最终用户的建议,将一些新特性融入到AIR2.0的版本中来了。当然因为是Beta版,肯定会有一些Bug,我们在体验AIR2.0的同时,也可以将发现的Bug反馈给Adobe,以便在正式版本中剔除Bug。

已知的Bug:

http://labs.adobe.com/wiki/index.php/AIR_2:Release_Notes#Known_Issues

首先我们来看一下AIR2.0带来的新特性或原有特性的增强。

如果你还不了解AIR,请参见AIR之前版本的简介

Part1:AIR2.0新特性

按照类型用默认的程序打开文件

在AIR2.0中,你可以使用新的API(File.openWithDefaultApplication)来打开一个文件,比如.doc,.pdf,.mp3等等,这些文件将被跟文件相关的默认应用程序打开(微软Office,Adobe AcrobatReader,MediaPlayer等等),这样就提供一种可能性,你可以用AIR构建一个文件管理系统,而打开其中的文件则使用默认的应用程序,而且这是跨平台的。举个例子说,你创建了一个音乐管理系统,当你双击打开一个MP3文件,在不同的操作系统上可能会用不同的应用程序打开,在Windows上可能是WindowsMediaPlayer,在苹果系统上可能是iTunes,在Linux上可能是SongBird。如果你传递的不是一个文件而是一个目录,那么就会用操作系统默认的方式(比如Windows就是资源管理器)打开这个目录。

大容量存储设备检测

现在你可以检测大容量存储设备(比如USB存储卡和某些类型的相机),是否连接到了用户的计算机。这样你就可以开发一个应用程序,检测到相机插入了用户的电脑,然后提示用户将视频上传到YouTube。

本地进程API

一些开发者希望能够更好的整合AIR和现有的本地代码库,或使用本地代码来扩展AIR运行时。虽然我们在AdobeAIR1.0的版本就打算做这个工作,但当时我们听到开发者更希望AIR是跨平台的。在接下来的时间里,以.air为后缀的AIR应用有着广泛的应用。在AIR2.0中,我们希望能帮助开发者在不影响跨平台的情况下来扩展AIR应用,增强用户体验。为了实现这个目标,我们增加了一个本地进程的API,让开发者可以启动一个进程并与之通讯。要使用本地进程的API,应用程序必须以本地应用程序安装文件而不是.air安装文件。为了做到这一点,在AIRSDK中支持产生操作系统特定的安装文件(.exe,.dmg,.deb)。

访问麦克风数据

在AIR2中,你可以直接通过麦克风录音,而不需要通过FMS。

多点触摸和手势支持

你可以侦听多点触摸(需要Windows7)和手势(Windows7和Mac OS X雪豹)所产生的多点触摸硬件事件。大家可能看过一些多点触摸的例子,有个AIR2和基本的硬件支持,我们就可以开发这种类型的应用了。

全局错误处理

利用全局错误处理,你可以在一个地方处理所有捕获的错误,包括同步错误事件和异步错误事件。

增强的打印支持

在AIR2中我们继续增强打印。在Mac系统,支持矢量打印,将高质量的内容发送到打印机。 此外,新的API将允许开发人员访问本地计算机的打印列表,并在没有对话框的情况下打印。一项新功能,我们称之为“选择最佳打印方式”将自动确定采用位图或矢量图打印方式。

更新的HTML渲染引擎(WebKit)

本版本中的HTML渲染引擎是基于WebKit的Safari浏览器4.0.3的版本。其中JavaScript的执行效率提升了50%,支持HTML5,此外还支持CSS3(二维变换,转换,动画,渐变,放大和CSS选择器),通过CSS样式增强滚动条。

改进的IPv6支持

IPv6格式的地址格式在新的API中得到支持。

增加NativeWindow的尺寸上限

在AIR1中只能创建最大2880 × 2880的窗口,但在AIR2,我们增加了此限制,提高到4095 x 4095。

Socket支持

---服务器套接字(Socket)支持:你可以侦听Socket连接,并可以在本地建立一个轻量级的Socket服务器,与应用程序通讯。

---UDP Socket支持:你可以使用UDP协议来发送信息,这对时间敏感的应用,比如类似QQ的即时聊天工具,将得到更快的响应速度以及更好的用户体验。

---TLS/SSL Socket支持:通过加密协议更安全的传递敏感数据。

DNS查询

使用新的DNSResolver类,你可以获得IPv4和IPv6的地址信息。

网络接口枚举

你可以枚举在客户端计算机上可用的硬件和软件的网络接口列表,并且绑定一个特定接口的IP使用Socket通讯。

数据库事务保存点

可以提交或回滚作为单个事务中的多个数据库的变化。

增强的拖拽支持

你现在可以从AIR2.0创建的应用中拖拽一个还没有被创建的文件,并且在松开鼠标后提供这个文件的数据。比如说假定有一个FTP客户端的应用,当用户拖拽一个文件(当然并不存在)到桌面,你就可以下载这个文件的数据并保存到文件中。

输入法增强

输入法编辑器(IME)可以用于任何InteractiveObject,不只是TextField对象,这就意味着你可以使用新的Flash文本引擎和Adobe文本布局框架。

性能优化

在Mac系统上,处于后台运行的应用将降低50%的CPU消耗,而在更多系统上,则将内存的使用量降低15-20%。同样运行时的尺寸也变小了。

看了这些新特性是不是心动了,来开始开发吧。

Part2:配置AIR2.0开发环境

在配置开发环境之前,先要下载并安装AIR2.0的运行时,下载地址是:

http://download.macromedia.com/pub/labs/air/2/b1/air2_b1_runtime_win_111709.exe

下载后直接双击安装即可,如果你之前安装过1.5的版本,那么会提示更新,一路next即可。

下载AIR2的SDK,下载地址是:http://download.macromedia.com/pub/labs/air/2/b1/air2_b1_sdk_win_111709.zip

开发环境配置之Flex篇

  1. 先退出Flex Builder
  2. 然后找到FlexBuilder的安装目录,将SDK另存一份出来,比如在Windows: c:/ProgramFiles/Adobe/Flex Builder3/sdks/3.2.0,复制这个目录,并另存为"3.2_with_air2",然后将刚才下载的压缩包解压,将得到的文件覆盖SDK中的文件。
  3. 打开Flex Builder,新建项目或在原有项目上点击右键,选择“properties”,找到Flex Compiler,选择SDK为刚才复制的SDK。
  4. 点击确定即可,新建AIR项目,查看配置XML文件,可以发现版本已经变为2.0Beta

开发环境配置之Flash篇

  1. 首先确定你的Flash CS4已经更新到了最新版(10.02),更新文件下载地址是:
    http://download.macromedia.com/pub/flash/updates/10_0_2/win/Flash_10_0_2_AdobeUpdate.exe
  2. 如果Flash CS4处于打开状态,退出
  3. 到Flash CS4安装目录,Windows 可能是 "C:/Program Files/Adobe/Adobe Flash CS4/"
  4. 在目录 "Adobe Flash CS4" 你能找到一个目录叫做"AIK1.5"
  5. 将这个目录重命名为"AIK1.5old"或转移到别的位置
  6. 创建一个新的目录叫做 "AIK1.5"
  7. 将刚才下载的AIR SDK压缩包解压,将得到的文件放到这个目录中
  8. 复制"airglobal.swc" ,这个文件在"Adobe FlashCS4/AIK1.5/frameworks/libs/air/" ,粘贴到"Adobe FlashCS4/Common/Configuration/ActionScript 3.0/AIR1.5/"目录
  9. 创建一个AIR应用,然后找到它的XML配置文件,修改命名空间为<application xmlns="http://ns.adobe.com/air/application/2.0beta">

在下面的章节里,我们会在一些练习中详细体验AIR2.0的新特性。

原创粉丝点击