




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第23章 AIR平台应用,AIR应用程序是一种桌面应用程序。因为要支持对本地资源的操作,所以Flex 4.0中新增许多对本地资源的操作,如本地文件、PDF文件等。另外,AIR应用程序支持版本升级、集成网页、使用Ajax技术等。,23.1 加载PDF文件,在Flex 4.0中的AIR工程中新增HTMLLoader类和HTMLPDFCapability类。通过这两个类可实现加载PDF文件,丰富了AIR应用程序的效果和功能。,23.1.1 加载PDF文件前的准备,加载PDF文件需要有两个条件:第一是必须为AIR工程,第二是系统已安装Adobe Reader 8.1以上版本。前者是因为Flex 4.0
2、中只有在AIR工程中可引用HTMLLoader类和HTMLPDFCapability类。究其深层原因是Adobe公司只允许桌面应用程序(AIR)访问本地资源。其他Web工程出于安全性考虑,不可直接访问本地资源。,23.1.2 使用HTMLLoader类加载PDF文件,HTMLLoader类是AIR中新增的类,用于加载PDF。 HTMLLoader类中只有一个属性pdfCapability。此属性存储了PDF文件与Adobe Reader版本间的关系。在HTMLLoader类的load()方法执行后,自动得到版本信息。,23.1.3 使用HTMLPDFCapability类检测Adobe Rea
3、der版本,HTMLPDFCapability类定义了加载的PDF文件与Adobe Reader版本间的关系,使用状态字符串表示,如“ERROR_INSTALLED_READER_NOT_FOUND”。,23.1.4 加载PDF文件实例,加载PDF文件的步骤如下所示。 (1)新建AIR工程。 (2)确定系统中已安装Adobe Reader 8.1以上版本。 (3)编写MXML文件。 (4)按下Ctrl+F11键,编译运行程序。,23.2 使用本地SQL数据库,SQL数据库是指可使用标准的SQL语句进行操作的数据库。本地SQL数据库是指操作系统支持的SQL数据库,如“.db”格式的数据库。AIR
4、应用程序中新增了一些类(在“flash.data.*”包中),用以支持对本地SQL数据库的操作。对SQL数据库的基本操作包括Select(读取数据)、Insert(插入数据)、Update(修改数据)、Delete(删除数据)。,23.2.1 使用Select语句读取数据,Select语句用以读取表中的数据。 列名是指表中的列的名称。 用户可为列名取别名。 条件是指对数据的约束。,23.2.2 使用Insert语句添加数据,Insert语句用以向表中添加数据。 列名必须是表中存在的列的名称。 数值顺序对应列名顺序,如数值1赋值给列名1。,23.2.3 使用Update语句修改数据,Update
5、语句用以修改表中的数据。 需要注意的是,SQL语句中判断相等的操作符为“=”,而不是“=”。,23.2.4 使用Delete语句删除数据,Delete语句用以删除表中的数据。 Delete语句可删除单条记录或多条记录,方法是控制条件范围。以下代码使用Delete语句删除“高三5班”学生信息。,23.2.5 使用SQLConnection类连接数据库,SQLConnection类用于连接数据库。对于要操作的数据库都应新建SQLConnection类实例。,23.2.6 使用SQLStatement类执行SQL语句,SQLStatement类用于执行SQL语句,是操作SQL数据库的重要类。 (1)
6、定义SQLStatement类实例。 (2)指向其使用的数据库。 (3)为SQLStatement实例定义SQL语句。 (4)执行SQLStatement实例。 (5)为SQLStatement实例添加监听。 (6)获取返回数据集。,23.2.7 操作本地SQL数据库实例,本节以实例为读者讲解如何使用SQL语句操作数据库 (1)设计数据库“School”。“School”数据库中只有一张表“Notes”,用以存储通知信息。 (2)新建AIR工程。 (3)设计应用程序的外观模型。 (4)连接“School”数据库。 (5)创建“Notes”表。 (6)获得数据集并显示于DataGrid组件中。
7、(7)向数据库中插入数据。 (8)完成剩余代码。 (9)按下Ctrl+F11键编译运行程序。,23.3 升级AIR应用程序,AIR桌面应用程序可导出为air文件。双击此文件就能开始安装应用程序。若系统中已安装旧版的AIR应用程序,双击air文件时会提示更新AIR应用程序。这种方式是非程序性的方式。Flex 4.0中新增Update类,用以升级AIR应用程序。,23.3.1 升级前的准备,1导出AIR应用程序 2定义版本信息文件,23.3.2 检查版本信息,用户可使用FileStream类加载版本信息文件,从而获得当前AIR应用程序的版本号。若当前的版本号小于最新的版本号,说明AIR应用程序需要
8、更新。,23.3.3 使用FileStream类下载最新版本,在更新AIR应用程序前,需要下载最新版本的AIR安装包。使用FileStream类可下载任何格式的文件。,23.3.4 使用Updater类升级AIR应用程序,在下载完成最新版本的AIR安装包后,可使用Updater类的update()方法升级应用程序。,23.3.5 升级AIR应用程序实例,本实例中假设最新导出的AIR安装包为1.3版本,并放置于工程“bin”文件夹下。 升级AIR应用程序实例的步骤如下。 (1)新建AIR工程。 (2)在“bin”文件夹下的“Preferences”文件夹下创建“version.txt”文件。 (
9、3)编写检查版本号函数checkVersion。 (4)编写下载最新版本函数loaded。 (5)编写更新AIR应用程序代码。 (6)完成剩余代码。 (7)按下Ctrl+F11键,编译运行程序。,23.4 在AIR平台中使用Ajax技术,在前面章节里曾介绍过Flex 4.0中如何使用其他Web开发技术,但未涉及Ajax技术。Ajax技术是一种非常流行的Web开发技术,其主要特点是无刷新性。本章将介绍Ajax技术的基础知识,及如何在Flex 4.0中使用Ajax技术。,23.4.1 Ajax技术简介,Ajax技术具体包括如下5种技术。 使用XHTML+CSS的表示样式。 使用DOM(Docume
10、nt Object Model)进行动态显示及交互。 使用XML和XSLT进行数据交换及相关操作。 使用XMLHttpRequest类进行异步数据查询、检索。 使用JavaScript整合所有技术。,23.4.2 使用组件调用Ajax技术,在Flex 4.0中使用组件可加载包含Ajax技术的网页。 组件在加载网页时,加载网页中的全部内容,包括javascript(javascript是Ajax技术实现的关键)。,23.4.3 Flex应用程序结合Ajax技术实例,Ajax技术已广为应用于互联网的开发。许多无刷新的网页或有动态效果网页都使用了Ajax技术。其中,应用Ajax技术最成功的例子是Go
11、ogle的地图搜索。Flex 4.0结合Ajax技术实例的步骤如下。 (1)新建AIR工程。 (2)编写“yahoo.html”文件。 (3)编写Flex应用程序的外观模型。 (4)添加搜索地图的ActionScript 3.0代码。 (5)编写函数takeSnapshot。 (6)编写函数copyToClipboard。 (7)完成剩余代码。 (8)按下Ctrl+F11快捷键编译运行程序。,23.5 使用Flex-Ajax Bridge技术控制Flex应用程序,上一节中介绍在Flex中如何调用Ajax技术。反之,也可使用Ajax技术控制Flex应用程序。JavaScript程序通过Flex-
12、Ajax Bridge技术可控制Flex应用程序组件及外观。,23.5.1 Flex-Ajax Bridge技术简介,Flex-Ajax Bridge技术是Adobe公司提供的一种服务技术。此技术为Ajax技术和Flex技术建立起特殊的联系。通过Flex-Ajax Bridge技术可达到控制Flex应用程序的效果。例如,单击网页中的按钮,Flex应用程序中新增一个按钮组件。 Flex-Ajax Bridge技术包括一个“FABridge.as”文件和“FABridge.js”文件。“FABridge.as”文件中定义了Flex客户端的各种属性和方法。“FABridge.js”文件定义了Java
13、Script客户端的各种属性和方法。有关“FABridge.as”文件和“FABridge.js”文件的相关内容将在后续章节中介绍。,23.5.2 Flex-Ajax Bridge技术的运行原理,Flex-Ajax Bridge技术只包含两个源文件:“FABridge.as”文件和“FABridge.js”文件。通过定义两个不同客户端(Flex客户端和JavaScript客户端)的对应属性和方法,实现不同客户端间的相互调用。 “FABridge.as”类继承EventDispatcher类,同时实现IMXMLObject接口。其主要功能是存储各种Flex组件的属性和方法,为各种方法添加对应的调
14、用名称。“FABridge.as”类中最重要的实现方法为initializeCallbacks()方法。,23.5.3 使用getCompenentID()方法获取组件,Flex-Ajax Bridge技术中使用getCompenentID()方法获取组件。getCompenentID并不是确定的方法名,而表示“get”字符串连接组件id字符串。例如,Flex应用程序中定义了名为“myPanel”的组件,那么获取该组件的方法名为“getMyPanel”。需要注意的是,组件id字符串的第一个字母大写。,23.5.4 使用getPropertyName()方法获取属性值,getPropertyNa
15、me()方法用以获取组件的属性值。与getCompenentID()方法一样,getPropertyName()方法也不是确定的方法名,而是“get”字符串连接组件属性字符串。 在使用getCompenentID()方法获取组件后,可使用getPropertyName()方法获取组件属性。,23.5.5 使用setPropertyName()方法设置属性值,setPropertyName()方法用以设置组件的属性值。与getCompenentID()方法一样,setPropertyName()方法也不是确定的方法名,而是“set”字符串连接组件属性字符串。 在使用getCompenentID(
16、)方法获取组件后,可使用setPropertyName()方法设置组件属性。 与getCompenentID()方法一样,组件属性字符串的第一个字母大写。,23.5.6 为组件添加监听事件,Flex-Ajax Bridge技术也可为组件添加监听事件。 使用getCompenentID()方法获取组件后,可直接调用组件的所有方法(包括addEventListenner()方法)。,23.5.7 调用Flex程序中的函数,由于“FABridge.example.root()”语句指向的是Flex应用程序本身,所以可直接调用Flex程序的函数。,23.5.8 Flex-Ajax Bridge技术控制Flex程序实例,本实例的效果为:在网页中操作按钮或下拉框组件,Flex应用程序的视图变化。 Flex-Ajax Bridge技术控制Flex程序实例的步骤如下所示。 (1)新建Flex工程“Flex-AjaxBridgeExample”。 (2)在工程根目录中添加“bridge”文件夹。 (3)在工程根目录中添加“image”文件夹。,23.5.8 Flex-Ajax Bridge技术控
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 红安县期末数学试卷
- 海淀其中数学试卷
- 合肥火炬小升初数学试卷
- 医院车辆管理课件
- 中国可变电容器行业发展监测及投资战略规划研究报告
- 2025年安徽省安庆市第十一中学物理高一下期末达标检测模拟试题含解析
- 2025年中国二维码识读设备行业发展监测及投资战略研究报告
- 升降机的研究报告总结
- 中国广西木材加工行业市场发展监测及投资战略规划报告
- 健康理疗师培训课件视频
- 网络安全知识手册
- 铁路公司质量管理制度
- 物业公司接管公寓楼项目工作时间倒推计划表(T日为入驻日)
- DB1304T 500-2025民用水表、电能表、燃气表计量纠纷处理规范
- 离婚协议无子女无共同财产(2025年版)
- 超星尔雅学习通《公文写作规范(黑龙江大学)》2025章节测试附答案
- 肺功能检查与临床应用
- DBJ51T 021-2013 四川省建筑反射隔热涂料应用技术规程
- CRRT的枸橼酸抗凝(ICU)培训课件
- 计算机基础知识理论竞赛题库与答案(960题)
- 高处作业非标吊篮专项施工方案
评论
0/150
提交评论