Adobe AIR权威指南(图灵程序设计丛书)
分類: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,综合,
品牌: Jeff Tapper
基本信息·出版社:人民邮电出版社
·页码:278 页
·出版日期:2009年
·ISBN:9787115208187
·条形码:9787115208187
·包装版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:图灵程序设计丛书
产品信息有问题吗?请帮我们更新产品信息。
内容简介《Adobe AIR权威指南》由Adobe公司专家编写,以一个实战应用为开发背景,有针对性地逐项介绍了AIR的各种特性,包括与剪贴板交互,在操作系统与AIR之间实现拖放,读写SQLite数据库,与文件系统交互,定制应用外观,等等。此外,书中还深入探讨了AIR应用的测试、部署和安全性等问题。
《Adobe AIR权威指南》适合各层次Web开发人员阅读。
作者简介Jeff Tapper,Adobe技术社区最有影响力的专家之一,拥有丰富的Web开发经验,客户包括摩根士丹利、IBM、道琼斯等。他还是Web Developers & Designers Journal杂志的编委。
Michael Labriola Adobe 技术社区最著名的专家之一。是Adobe开发人员中心的重要撰稿人。也是Adobe技术邮件列表中最受欢迎的“大侠”。除本书外。他还与Jeff Tapper等人合著了《Flex 3权威指南》(人民邮电出版社出版)一书。
媒体推荐“本书是AIR技术图书中的佼佼者,将使你轻松结合桌面技术和因特网技术进行Web开发。”
——Rafiq Elmansy,资深多媒体图形设计师和Web设计师
“一部少见的好作品。作者毫无保留地提供了在Adobe AIR实战中必用的技巧和技术。”
——Amazon读者评论
编辑推荐AdobeAIR的诞生使Flex锦上添花,而《Adobe AIR权威指南》则使你如虎添翼。借助《Adobe AIR权威指南》,结合你已有的AdobeFlex和Flash相关知识,现在你就可以娴熟地构建既提供传统桌面应用的丰富体验,又具备因特网强大功能的动态应用。
Flex和Flash专家Jeff和Michael以一个用于项目管理的时间跟踪应用贯穿全书,带领你创建真正自定义的界面,使你可以熟练地与最终用户的操作系统交互。你将掌握AIR的各个特性,AIR下的Flex应用开发、调试和包装,学会将Web应用转换为桌面应用,以及通过剪贴板和拖放操作构建高度交互的应用。书中还介绍了与用户文件系统交互来创建间断连接的客户端,在本地SQLite数据库中存储数据。《Flex3权威指南》作者新作,Adobe公司Flex首席产品经理作序推荐,丰富的AdobeAIR最佳实践。
目录
第1章 构建第一个AIR应用 1
1.1 如何构建AIR应用 1
1.1.1 用AIR和Flex构建Hello World应用 1
1.1.2 用AIR和HTML构建Hello World应用 2
1.1.3 利用应用描述文件来描述应用 3
1.1.4 测试应用 7
1.1.5 调试应用 8
1.2 打包应用完成部署 8
1.2.1 使用AIR开发工具(ADT)打包应用 8
1.2.2 使用Flex Builder打包应用 9
1.3 下一步工作 10
第2章 时间跟踪应用 11
2.1 初识dpTimeTracker 11
2.1.1 下载dpTimeTracker代码 11
2.1.2 导入项目 12
2.1.3 使用应用 12
2.2 使用Flex Builder调试工具 15
2.2.1 断点 15
2.2.2 trace语句 16
2.3 理解应用框架 17
2.4 下一步工作 18
第3章 与剪贴板交互 19
3.1 集成操作系统 19
3.2 分析Clipboard类 19
3.2.1 了解剪贴板数据格式 20
3.2.2 创建定制格式 22
3.2.3 了解剪贴板传输模式 24
3.2.4 了解数据串行化 24
3.2.5 延迟呈现 26
3.3 分析dpTimeTracker如何使用剪贴板 26
3.4 下一步工作 30
第4章 在OS与AIR之间实现拖放 31
4.1 应用中的拖放(DragManager类) 31
4.2 在OS和应用之间完成拖放(NativeDragManager) 40
4.3 将元素从OS拖放到AIR应用 40
4.4 将元素拖入dpTimeTracker应用 43
4.5 从AIR应用向OS拖动元素 43
4.6 将元素拖入OS 47
4.7 下一步工作 49
第5章 读写SQLite数据库 50
5.1 SQLite简介 50
5.1.1 SQLite特性 50
5.1.2 数据类型 51
5.1.3 限制 52
5.2 从AIR访问SQLite 52
5.2.1 同步或异步通信 52
5.2.2 打开和创建SQLite数据库 54
5.2.3 执行SQL语句 57
5.2.4 关闭一个数据库连接 60
5.2.5 创建数据库和表 60
5.2.6 从数据库选择数据 66
5.2.7 向数据库插入数据 70
5.2.8 更新和删除数据 74
5.2.9 使用事务 75
5.3 优化数据库性能 80
5.3.1 使用analyze 80
5.3.2 优化SQLStatement 81
5.4 了解dpTimeTracker应用中的数据库访问 81
5.4.1 使用SQL命令 82
5.4.2 SQL命令序列化 85
5.4.3 使用SQL命令插入和更新 87
5.5 下一步工作 90
第6章 与文件系统交互 91
6.1 了解File类 91
6.1.1 引用文件位置 91
6.1.2 与文件内容交互 91
6.1.3 指定文件动作 91
6.2 同步和异步访问文件 92
6.3 访问文件系统信息 92
6.3.1 指定路径 93
6.3.2 确定操作系统特定的行结束符 94
6.3.3 指定文件路径为URL 94
6.3.4 使用特殊目录 95
6.4 使用错误处理 96
6.5 处理目录 96
6.5.1 动作 96
6.5.2 文件和目录事件 103
6.5.3 使用FileStream类 103
6.6 进一步分析File类 108
6.6.1 浏览文件 108
6.6.2 删除文件 109
6.6.3 复制、移动或重命名文件 109
6.6.4 将ActionScript对象写至文件系统 109
6.7 分析dpTimeTracker示例 111
6.7.1 创建Excel文件 111
6.7.2 读SQLite文件 112
6.8 下一步工作 113
第7章 定制应用的外观 114
7.1 了解Flex和AIR API的差别 114
7.1.1 使用样式 114
7.1.2 使用皮肤 119
7.1.3 使用Window API 120
7.2 处理菜单 126
7.2.1 应用和窗口菜单 126
7.2.2 上下文菜单 129
7.2.3 OS菜单 131
7.3 分析dpTimeTracker中的定制 133
7.4 下一步工作 135
第8章 使用Presence API 136
8.1 了解与检测网络的存在 136
8.1.1 检测用户的连接 136
8.1.2 了解URLMonitor 139
8.1.3 了解SocketMonitor 141
8.2 了解和检测用户的存在 143
8.2.1 为什么关心用户的存在 143
8.2.2 跟踪用户的存在 143
8.3 在应用中增加自动更新特性 144
8.4 分析dpTimeTracker中的自动更新特性 147
8.5 下一步工作 153
第9章 在Flex/AIR应用中使用HTML内容 154
9.1 了解WebKit 154
9.1.1 WebKit的AIR扩展 154
9.1.2 WebKit中的JavaScript 160
9.1.3 从JavaScript访问AIR API 160
9.1.4 JavaScript中的ActionScript对象 161
9.1.5 从ActionScript访问JavaScript DOM 162
9.1.6 HTMLLoader 163
9.2 处理事件 163
9.2.1 DOM事件 164
9.2.2 用JavaScript处理事件 164
9.2.3 JavaScript异常 166
9.3 控制HTML内容 166
9.3.1 滚动 166
9.3.2 处理历史列表 166
9.4 使用HTMLHost 167
9.5 在操作系统默认浏览器中打开HTML内容 168
9.6 增加PDF内容 169
9.6.1 检测PDF功能 169
9.6.2 加载PDF文件 170
9.6.3 了解AIR中的PDF限制 170
9.7 分析dpTimeTracker应用中HTML的使用 171
9.8 下一步工作 173
第10章 了解远程数据需求 174
10.1 为什么使用服务器 174
10.1.1 可以使用哪种服务器 174
10.1.2 SOAP 175
10.1.3 REST/XML 176
10.1.4 动作消息格式(AMF) 177
10.1.5 实时消息协议(RTMP) 178
10.1.6 Socket 179
10.2 使用服务器时利用设计模式 180
10.2.1 AsyncToken的作用 181
10.2.2 Service接口的作用 181
10.2.3 桩数据的作用 181
10.2.4 ServiceFactory的作用 182
10.3 dpTimeTracker应用中使用远程数据 186
10.3.1 分析与Harvest的同步 186
10.3.2 分析版本系统 190
10.4 下一步工作 191
第11章 与Adobe BlazeDS通信 192
11.1 BlazeDS的作用 192
11.2 如何得到BlazeDS 193
11.3 BlazeDS体系结构基础 193
11.4 配置文件 195
11.5 远程过程调用 196
11.5.1 配置BlazeDS使用RemoteObject 196
11.5.2 客户中使用目标 198
11.5.3 映射Java和ActionScript类型 201
11.6 发布/订购消息机制 202
11.6.1 配置BlazeDS使用消息机制 203
11.6.2 客户中使用目标 206
11.7 BlazeDS和LiveCycle数据服务 215
11.8 下一步工作 215
第12章 使用Fluint测试AIR应用 216
12.1 测试类型 216
12.2 测试框架 217
12.2.1 了解Fluint 218
12.2.2 安装Fluint 218
12.3 框架术语 219
12.3.1 测试方法 219
12.3.2 测试用例 220
12.3.3 测试套件 221
12.3.4 测试运行工具 221
12.4 创建基本单元测试 222
12.4.1 创建测试用例和方法 222
12.4.2 组织测试目录 224
12.5 创建异步测试 224
12.5.1 实现简单的setUp和tearDown 225
12.5.2 创建一个简单的异步测试方法 225
12.5.3 使用传递数据 228
12.6 创建集成测试 229
12.6.1 创建一个简单的UIComponent测试 229
12.6.2 使用测试序列 232
12.6.3 使用响应者 236
12.7 下一步工作 239
第13章 部署AIR应用 240
13.1 使用数字证书 240
13.2 购买Thawte证书 242
13.3 配置应用选项 243
13.3.1 安装工具文本 243
13.3.2 安装目录和菜单位置 244
13.3.3 文件类型 245
13.3.4 浏览器调用 245
13.3.5 图标 246
13.3.6 综合 246
13.4 AIR应用打包 248
13.4.1 用Flex Builder打包 248
13.4.2 用命令行打包 251
13.4.3 对中间文件签名 252
13.4.4 移植AIR文件 253
13.5 发布AIR应用 253
13.5.1 使用无缝Badge安装 254
13.5.2 定制Badge 255
13.5.3 使用Express安装 256
13.5.4 使用预定制Badge 257
13.6 下一步工作 257
第14章 了解AIR安全性 258
14.1 Web应用和桌面应用安全性差别 258
14.2 AIR安全特性 259
14.3 沙箱 259
14.4 应用沙箱的限制 261
14.4.1 Flex/ActionScript 261
14.4.2 HTML/JavaScript 262
14.5 非应用沙箱的权限 263
14.6 跨沙箱通信 263
14.7 加密库 266
14.8 dpTimeTracker应用中的加密库 267
14.9 最差实践 269
14.9.1 使用输入或动态数据作为参数 269
14.9.2 辜负对AIR包的信任 270
14.10 下一步工作 271
附录A AIR起步 272
附录B 使用AIR 1.1需要考虑的问题 274
……[看更多目录]
序言Web浏览器是我最喜欢的工具。随着因特网的发展,我们看到的不再是只提供静态文本和图像的网站。现在已经进入了一个新的世界,我们身边有了大量功能强大的RLA(Rich InternetApplication,富因特网应用)和全新的Web体验。我每天都要使用浏览器,而桌面上的浏览器图标居然没有任何磨损的痕迹,真是奇怪。
如今,当我导航到我最喜欢的拍卖网站时,不仅可以搜索待售的商品和检查商品的状态,还可以深入了解商品的详细信息,看它是否物有所值。另外,我还能进一步查看承运商的送货状态。
使用基于Web的客户管理应用时,可以查看同事和大量客户的信息管理状态。甚至不必离开网站,只需点击一条联系记录,就能够快速发起与某个人的视频会议。
互连的应用是开发人员一直梦寐以求的,这在客户/服务器时代根本无法想象。通过结合Flash、HTML/JavaScript租PDF等Web技术,综合多方提供的Web服务,越来越多RIA正逐渐成为现实生活中必备的工具。
不过,如果能把Web应用作为本地应用在桌面上运行会怎么样呢?如果一个RjA不仅在用户连接到因特网时能运行,当用户未连接到因特网时也能运行,这是不是很妙?最后,即使用户的浏览器在显示其他页面,甚至浏览器是关闭的,应用程序还是能接收并显示状态更新及通知,那该多好!
正是这些想法催生了Adobe AIR,这是一个运行时环境,开发人员可以使用成熟的Web技术构建RjA,使之能部署到桌面并跨操作系统运行。
AIR不只是把一个图标放在桌面上并允许web应用本地运行,这是一种通过使用Flash、Flex和HTML/avaScfipt等技术,在Webl立用与本地桌面资源和数据之间牵线搭桥的方法。AIR支持一些强大的新功能,而在Web浏览器内部运行时绝无可能提供这些功能。例如,RIA可以实现文件拖放事件,与系统剪贴板集成,访问本地文件,还可以触发系统通知提示。
另外,AIR还支持本地数据的持久存储,它利用了AIR运行时环境内置的一个SQLite数据库。通过使用为ActionScfipt、Flex和JavaScfipt开发人员提供的各种丰富的API,可以轻松地管理SQLite数据库中的信息。
毫无疑问,开发AIR应用最有效的方法之一就是使甩Adobe Flex。借助Flex,开发人员可以快速构建响应迅速、视觉效果突出的一流应用。尽管Flex问世时间不长,但它作为一个重要技术,已经成为当今Web上大量优秀个人应用和企业应用的基础。
文摘插图:
第1章构建第一个AIR应用
学习任何新技术时,都可以先从一个简单的HelloWorld应用开始——也就是使用这个技
于术在屏幕上显示一条简单消息。本章将介绍如何使用基于HTML和基于Flex的内容构建第一个AIR应用。
1.1如何构建AIR应用
AIR提供了一个平台,Web开发人员可以在这个平台上使用他们原先已掌握的技术(如HTML/JavaScript或Flex/Flash)构建桌面应用。不论应用主要是基于HTML还是基于SWF,都应当了解一点:应用至少要包含两个文件。一个是主要内容(HTML或SWF),另一个是应用的XML文件。不论构建的AIR应用是何种类型,XML文件的内容都非常相似。
提示记住,可以使用Flex或FlashStudio构建基于SWF的内容。
1.1.1用AIR和Flex构建HelloWorld应用
通过AIR可以将Flex应用部署为桌面应用。在web浏览器中运行的Flex应用与在桌面上运行的Flex应用之间最主要的区别在于应用的根节点不同。你可能已经知道,Flex应用通常以标签(作为根节点)开始。将根节点从改为,这个Flex应用就完全可以通过AIR在桌面上运行了。