flexpaper 释放Camera资源

《Adobe Flex 3高级编程》 - 清华大学出版社第五事业部
书名:《Adobe Flex 3高级编程》
定价:¥158.00
版权信息和内容简介
作&nbsp&nbsp&nbsp&nbsp者:(加拿大)Joseph&nbspBalderson&nbsp&nbsp&nbsp&nbsp(美)Peter&nbspEnt&nbspJun&nbspHeider&nbsp&nbsp等著译&nbsp&nbsp&nbsp&nbsp者:杨柏林&nbsp&nbsp张卫星 译责任编辑:王&nbsp&nbsp军&nbsp&nbsp谢晓芳装帧设计:牛艳敏责任校对:胡雁翎责任印制:&nbsp出版发行:清华大学出版社&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp地&nbsp&nbsp址:北京清华大学学研大厦A座&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp.cn&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp邮&nbsp&nbsp编:100084&nbsp&nbsp 社&nbsp&nbsp&nbsp&nbsp总&nbsp&nbsp&nbsp&nbsp机:010-&nbsp&nbsp&nbsp&nbsp邮&nbsp&nbsp&nbsp&nbsp&nbsp购:010-&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp投稿与读者服务:010-,c-service@tup.&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp质&nbsp&nbsp量&nbsp&nbsp反&nbsp&nbsp馈:010-,zhiliang@tup.印&nbsp刷&nbsp者:&nbsp装&nbsp订&nbsp者:经&nbsp&nbsp&nbsp&nbsp销:全国新华书店开&nbsp&nbsp&nbsp&nbsp本:185×260&nbsp&nbsp&nbsp&nbsp印&nbsp&nbsp&nbsp张:78.5&nbsp&nbsp 字&nbsp&nbsp&nbsp数:2008千字版&nbsp&nbsp&nbsp&nbsp次:2011年10月第1版&nbsp&nbsp&nbsp&nbsp印&nbsp&nbsp&nbsp次:2011年10月第1次印刷印&nbsp&nbsp&nbsp&nbsp数:1~3000定&nbsp&nbsp&nbsp&nbsp价:158.00元内容简介  近几年来,Flex已经成为基于Flash平台开发富Internet应用程序(RIA)的主流技术,而且Flex&nbsp3的发展潜力也十分令  人兴奋。&nbspAdobe&nbspFlex&nbsp3高级编程》一书中全面深入的资源不仅为读者提供有关Flex的基础知识,而且揭示了如何充分  利用Flex&nbsp3来创建统一的Internet和桌面应用体验。  《Adobe&nbspFlex&nbsp3高级编程》将详细介绍Flex&nbsp3与Flash平台在各个方面的区别与联系,同时也会提供客户端Flex应用  程序开发和最佳实践方面的扩展知识。其中将解释Flex&nbspBuilder可以实现的功能,开发简单Flex&nbsp3应用程序的方法,以  及使用Flex&nbsp3框架类和组件的方法。同时,您也会看到一些更高级的主题,如数据集成、架构框架和高级工具。  通过学习本书的详细示例,无论您是否具备Flex开发经验,这本权威性的指南都将帮助您快速上手和使用Flex&nbsp3。
  近几年,Flex已经成为基于Flash平台开发富Internet应用应用程序(RIA)的主流技术。在创建Internet与桌面应用的独特体验方面,Flex和Flash平台总会给人们带来意想不到的效果,然而这些技术在若干年前是根本无法实现的。本书将全面地指导您理解并掌握这种技术。
  Flash平台已经具备非常完善的功能和技术,并渗入到Web与桌面富应用程序开发这个领域。紧随着技术变化的节奏,同时还要探索关于Flex开发综合性的参考信息,这是非常具有挑战性的事情。作为一种语言参考以及通用开发技术的起点,Adobe Flex文档发挥了极佳的作用,但是我们觉得其还有非常巨大的发展空间,可以用于扩展和解释说明关于Flex的更高级功能的用法。与此同时,市面上有太多的图书在揭示该技术时仅仅局限于“蜻蜓点水”,迫使开发人员需要通过在线教程与博客来完善自己的在该领域的知识。因此,本书也试图针对那些涵盖了基本技术的相关主题介绍一些更为深入的信息。
  第一作者Joseph Balderson描述了自己从事该项目的原因:
  在2007年夏天,我以前的一个Flex学生询问了我一个问题,打听是否有这样一本书可以使他全面地掌握该技术。这件事使我深受启发:目前还没有这样的书-- 当前的Flex开发完全依赖于特定的主题与开发人员的经验水平。恰好此时,我和Wrox出版社正在讨论负责编写Professional Flex系列的可能性。多么好的一次机会啊!我将研究课题从Flash转向Flex开发仅仅是几年前的事情,而现在我可以按照自己的意愿来编写Flex方面的书籍。因此,我联系了我最敬佩的同事,并逐步组建了一个由Flex开发人员--?作者和技术编辑组成的优秀团队,来共同完成本书的编写工作。
  本书读者对象
  如果您是一位Flash或ActionScript 3.0开发人员,并期待扩展您在Flex领域的知识和经验,那么这本书将非常适合您。本书的前几章将揭示Flex Builder的功能与如何开发简单的Flex应用程序。后面,我们将会学习使用Flex框架的类和组件。当准备工作做好后,本书最后的3部分内容将会介绍一些可以真正地提高应用程序效率的高级技术。
  如果您一名企业应用程序开发人员,并精通其他的编程语言,比如Java、ColdFusion或者C#,那么本书的前几章将会全面地展示Flex究竟是什么以及这些技术是如何组合起来的。在短时间内熟悉了Flex框架的类与组件之后,我们就可以跳到本书的后3部分,这部分内容将介绍一些高级工具、框架以及数据集成技术,来帮助您快速地构建企业应用程序。
  如果您是一位Flex开发人员,那么本书将有助于您全面深入地理解基本技术、中级技术以及高级客户端和服务端开发的相关技术,同时,还会揭示一些最佳实践与高级工具的使用方法。
  无论您将自己定位为Flex初学人员、中级开发人员,还是高级企业程序员,您都可以在本书中找到所感兴趣的内容。
  本书内容
  本书旨在深入、全面地阐述我们所谓的“Flex 3生态系统”的相关技术。因此,其目标不仅是涵盖该技术的基础和区分Flex与Flash平台之间的多方面关系,同时也会对客户端的Flex应用程序开发、最优开发实践以及开发环境进行介绍,而且还深入地探讨了更为高级的和企业级的主题,例如数据集成、架构框架,以及传统Flex参考书中未能涉及的一些高级开发工具。
  对于那些使用Flex进行RIA开发保持观望态度的读者,我们的目标也在于向其展示如何进行尝试并大胆地去尝试它--?Flex还是不错的。
  本书的另一个目标是要提供理论与实践之间的一种平衡。如此,本书也可以被用作一本参考指南或字里行间附带有大量练习的一个活动学习工具。在有些章节,例如在第Ⅷ部分中,有些习题的风格尽可能地被设计地和其他章节类似,允许对使用不同语言所实现的服务端数据集成进行比较。例如,您比较熟悉如何集成Flex与Java,就可以将其与使用PHP实现的版本进行比较,这样您就可以非常快速地上手并运行它。这么做我们就可以花费最小的代价来掌握某些技术。
  本书还附带有大量实用的建议、技巧以及“陷阱”。这些“陷阱”在社区博客和列表中比在Adobe文档中出现得更为普遍,我们所提供的附带内容是为了缓解有些Flex开发人员在某个特定主题方面所遇到的挫折感,这些主题涵盖的内容相当零散,而且也没有得到足够的重视,甚至根本就没有进行相关的记录。
  关于AIR的题外话
  虽然其他的图书(比如Adobe AIR:Create-Modify-Reuse以及Beginning Adobe AIR:Building Adobe Integrated Runtime)可能非常深入地探讨了开发AIR应用程序这方面的内容,但是本书将会采用另一种独特的方式来介绍AIR文档。本书没有将AIR开发的主题描述成一种单独的技术或主题,而是在Flex开发更大的背景下进行介绍。如此一来,读者就可以学习同时为浏览器和桌面创建Flex应用程序,该主题很少能在特定的AIR文本之外的地方找到。事实上,AIR基本上被视为另一种“附加”的框架,而且“Flash-AIR”框架与“Flex-AIR”框架之间的区别仅仅是在于文本的不同,这样我们可以进一步增加读者在各种与Flex和Flash相关的技术之间通用性的认识。
  本书结构
  本书大致上被分为3个主要“版块”,其中每个“版块”都拥有自己的“部分”和章节,大体分布如下。
  ●第Ⅰ~Ⅱ部分--?描述Flex技术的基础。
  ●第Ⅲ~Ⅶ部分--?描述客户端应用程序开发。
  ●第Ⅷ~Ⅻ部分--?描述服务器端集成与高级工具。
  该书又被分成了12个部分,每部分涵盖一个特定的主题,并且将这些指定的主题进一步划分成了若干章节:
  ●第Ⅰ部分简述了Flex与Flash平台技术生态系统的基础、基本的ActionScript语言,以及Flex开发环境。
  ●第Ⅱ部分深入探讨了使用Flex Builder IDE构建应用程序,其中包括MXML语言规范。
  ●第Ⅲ部分介绍了使用Flex以及AIR框架构建应用程序的基础知识。
  ●第Ⅳ部分涵盖了一些更为高级的Flex框架开发的主题。
  ●第Ⅴ部分深入探讨了设计与构造Flex组件、可视效果,以及通过Flex使用声音和视频功能,其中包括将Flash内置资源集成到Flex应用程序中。
  ●第Ⅵ部分介绍了些Flex框架的组件,其首要任务是处理或显示应用程序中的数据。该部分也讨论了Flex与AIR中的拖拽功能,还有资源和数据的定位。
  ●第Ⅶ部分概括了Flash Player与浏览器之间和AIR与桌面环境之间的客户端数据通信。
  ●第Ⅷ部分深入阐述了使用HTTP请求与Web Server的服务器端通信,还有使用Flash Communication Server构建在线视频应用程序的内容,同时还介绍了AIR中的本地数据存储通信。
  ●第Ⅸ部分重点介绍了LiveCycle Data Services与BlazeDS。
  ●第Ⅹ部分从介绍性到一个高级的应用程序开发视角,深入探讨了Cairngorm的微架构框架。
  ●第Ⅺ部分介绍了在构建有效与高性能Flex应用程序中所需要的各种技术、策略以及最佳实践。
  ●第Ⅻ部分提供了更高级和更全面的Flex工具集,例如调试器、概要分析器、单元测试框架、日志框架和动画框架。
  ●附录A为开发人员提供了一个参考以便开发人员从其他语言迁移到ActionScript与Flex,而且还讨论了ActionScript、Java以及C++语言之间的差异。
  使用本书的必备条件
  本书的示例可以运行在任何支持Flash Player与AIR的操作系统上--?Windows、OS X还有Linux。虽然关于Flex Builder的章节都是基于Windows操作系统创建的,但是那些练习依然可以正常运行在OS X操作系统中的Flex Builder上。如果您希望使用某种开发环境而不是Windows或OS X,例如Linux或Ubuntu,那么可能需要在选择的编辑器中使用开源的Flex SDK。
  最好的方法是您需要PC或Mac的一个Flex Builder副本,它通常可以在Adobe Store或合法零售商处在线购置。由于Flex Builder与Flex SDK、Flash和AIR彼此密不可分,因此我们需要在开始之前对它们进行配置。
  第Ⅷ~Ⅻ部分中涉及更高级内容的章节可能需要访问Adobe的服务器产品,例如LiveCycle Data Services或Flash Media Server,其中有些产品开发人员可以获取一张免费的开发人员许可证进行访问。参见后续章节可获取更详细的信息。
  源代码
  当您查阅本书示例时,您可以选择手动键入所有代码,或者使用本书附带的源码文件。本书使用的所有源码都可以从上进行下载。检索到该站点后,只需输入本书的标题(使用搜索框或者使用标题列表中的某项),然后单击链接图书详细信息页面的Download Code按钮来获取本书的所有源代码。
  本书中的代码还可以从公开的Subversion库中获取,这样您就可以选择要下载要的代码。参见第9章可以了解更多关于在Flex Builder环境下使用Subversion的细节。
  本书的代码库
  本书的全部代码都可以从Assembla主页上访问和下载。
  ●项目页面:/wiki/show.proFx3BookCode 。
  ●库URL:。
  还可以通过以下URL在浏览器中浏览代码库:
  由于许多图书具有类似标题,因此您可能发现通过ISBN检索图书非常方便;本书的ISBN:978-0-470-22364-2。
  当我们下载完代码后,使用您喜欢的解压工具解压它。或者,我们可以直接访问主要的Wrox代码下载页:/dynamic/book.download.aspx,以查看本书中涉及的可用代码和其他的Wrox图书。
  勘误表
  我们尽可能地努力来保证正文和代码中不会出现错误。然而,这并不是绝对的,失误在所难免。如果您在本书中发现有错误,例如拼写错误或者有缺陷的代码段,我们将非常感激您的反馈。通过反馈这个勘误表,您可能会节省其他读者困惑的时间,与此同时,也将会帮助我们提供给读者更高质量的信息。
  要查找本书的勘误表页面,您可以访问,然后使用搜索框或标题列表项来定位该标题。然后,在Book Search Results页面上,点击Errata链接。在该页面上您可以查看由Wrox编辑发布的在本书中提交的所有错误信息。
  包括勘误表链接的完整图书列表也是可用的:/misc-pages/booklist.shtml。
  如果在勘误表页面上您不能识别您所发现的错误,那么请单击Errata Form链接,然后完成该表格将您发现的错误发送给我们。我们将会检查这些信息,如果情况属实,我们将在本书的勘误表页面上记录这个错误并在本书的下个版本中修正该问题。
  P2P邮件列表是为作者和读者之间的讨论而建立的。读者可以在上加入P2P论坛。该论坛是一个基于Web的系统,用于传送与Wrox图书相关的信息和相关技术,与其他读者和技术用户交流。该论坛提供了订阅功能,当论坛上有新帖子时,会给您发送您选择的主题。Wrox作者、编辑和其他业界专家和读者都会在这个论坛上进行讨论。
  在上有许多不同的论坛,帮助读者阅读本书,在读者开发自己的应用程序时,也可以从这个论坛中获益。要加入这个论坛,必须执行下面的步骤:
  (1) 进入,单击Register链接。
  (2) 阅读其内容,单击Agree按钮。
  (3) 提供加入论坛所需的信息及愿意提供的可选信息,单击Submit按钮。
  (4) 然后就可以收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。
  提示:
  不加入P2P也可以阅读论坛上的信息,但只有加入论坛后,才能发送自己的信息。
  加入论坛后,就可以发送新信息,回应其他用户的帖子。可以随时在Web上阅读信息。如果希望某个论坛给自己发送新信息,可以在论坛列表中单击该论坛对应的Subscribe to this Forum图标。
  对于如何使用Wrox P2P的更多信息,可阅读P2P FAQ,了解论坛软件的工作原理,以及许多针对P2P和Wrox图书的常见问题解答。要阅读FAQ,可以单击任意P2P页面上的FAQ链接。
Flex 概 述
使用Flex的理由 3
Flex的含义 3
RIA的含义 3
受欢迎的Flex 6
揭秘Flash和Flex 7
用户喜爱Flex的十大理由 11
本章小结 14
Flex 3生态系统 15
Flex历史简介 15
Adobe Flex 3生态系统 17
框架和API 26
数据通信 28
Adobe Flex RIA工作流程 31
设计与开发 32
基本设施 33
Flex生态系统未来的扩展 33
本章小结 34
ActionScript 3.0基础 35
核心语言概念 35
基本语法 35
保留关键字 36
变量和数据类型 37
控制结构 37
条件语句 37
使用类和数据类型 40
类型转换 46
面向对象编程 49
Object类 50
接口和继承 56
本章小结 57
运用ActionScript 3.0 58
Flash平台框架 58
显示编程 59
事件模型 59
事件类和类型 60
事件进程 60
EventDispatcher类 62
Flash Player API 63
Display API 63
Flash AIR的API 67
Flash 10的API 68
本章小结 72
Flex Builder 3 73
Flex Builder入门 73
Flex Builder和Eclipse 74
学习Flex和获取帮助 74
Flex Builder 3工作台 78
创建和交换工作区 79
工作区配置 79
创建自定义透视图 84
Flex Builder 3中的新内容 84
设计模式的增强 84
开发功能的增强 84
CS3套件的整合 85
本章小结 85
使用Flex 3开发应用程序
使用Flex Builder 3 89
Flex编译过程 89
关于项目 91
创建Flex应用程序 93
创建一个Flex项目 93
使用设计模式 95
使用数据绑定 100
使用触发器和特效 101
编译应用程序 101
创建ActionScript应用程序 102
创建ActionScript项目 102
比较文件大小 105
非正式的SWF元数据标记 105
本章小结 107
MXML基础 108
语言原则 108
MXML是XML 108
命名约定 108
MXML语法 109
显示层次 109
MXML名称空间 110
使用MXML 113
MXML标签 113
MXML属性 115
使用MXML和CSS 119
使用MXML和
ActionScript 120
本章小结 127
使用Flex Builder 3进行
项目管理 128
项目属性 128
导出项目 132
导入项目 132
导航项目 134
创建应用程序 139
创建调试版本 139
创建导出版本 140
激活源视图 141
语言智能 144
编辑代码 144
代码参数 146
代码自检 146
键盘快捷键 148
本章小结 149
自定义Flex Builder 3 150
优化Flex Builder性能 150
项目开发的最佳实践 150
Eclipse的性能管理 152
定制工作台 156
编辑工作区列表 156
使用自定义快捷方式 157
高效的布局 158
管理工作区首选项 159
使用Flex Builder代码库 160
使用本地历史数据 160
用于Subversion源代码
管理的Subclipse插件 162
分离本地项目 177
本章小结 181
使 用 组 件
组件的生命周期和类的
层次结构 185
Flex应用程序中Flash的
Flex框架的生命周期 186
生命周期 187
Flex类的层次 189
Flash和Flex类的
程序包 189
UIComponent 189
容器类 191
List类 192
Formatters类、Validators类
和Collection类 192
框架的功能和事件 194
本章小结 195
数据绑定和事件的使用 196
使用花括号{ } 196
[Bindable]元数据 199
捕获阶段 201
目标阶段 201
冒泡处理阶段 202
终止事件 202
事件侦听器 203
使用MXML 204
使用ActionScript 204
事件类型 205
自定义事件 205
创建自定义事件 205
[Event]元数据 206
使用自定义事件的策略 207
本章小结 208
用户接口控件与容器 209
静态控件 209
mx.controls.Label与
mx.controls.Text 209
mx.controls.Image 209
mx.controls.SWFLoader 210
mx.controls.HRule和
mx.controls.VRule 211
mx.controls.ProgressBar 211
输入控件 212
mx.controls.Button和
mx.controls.LinkButton 212
mx.controls.TextInput 与
mx.controls.TextArea 212
mx.controls.NumericStepper 213
mx.controls.DateChooser and
mx.controls.DateField 213
mx.controls.CheckBox 214
mx.controls.RadioButton and
mx.controls.RadioButton
-Group 215
mx.controls.HSlider和
mx.controls.VSlider 216
mx.controls.RichTextEditor 216
mx.controls.
PopUpButton 217
mx.controls.
PopUpMenuButton 218
mx.controls.ColorPicker 218
布局容器 219
mx.containers.Canvas 219
mx.container.VBox和
mx.container.HBox 220
mx.containers.HDividedBox
和mx.containers.VDividedBox 220
mx.core.Application、
mx.containers.Panel以及
mx.containers.TitleWindow 221
mx.containers.Grid 222
mx.containers.Tile 224
mx.containers.Form 225
mx.containers.ControlBar 226
mx.containers.Application-
ControlBar 226
导航组件 227
创建策略 227
mx.containers.Accordion 227
mx.containers.TabNavigator 228
mx.containers.ViewStack 229
mx.controls.LinkBar 230
mx.controls.TabBar 230
mx.containers.MenuBar与
mx.controls.Menu 230
mx.controls.ButtonBar和
mx.controls.ToggleButtonBar 231
列表控件 232
本章小结 233
布局策略 234
坐标定位 234
约束定位 234
用百分比定位 236
对齐定位 237
高级约束 238
ConstraintColumns
(列约束) 239
ConstraintRows(行约束) 240
ActionScript中的约束 240
约束规格 241
使用includeInLayout 241
性能注意事项 242
本章小结 242
用户界面的整合 243
创建表单 243
提交表单内容 246
使用Flex Builder设计
视图构建表单 247
设置表单上的
defaultButton(默认按钮) 247
自定义提示条 248
构建弹出控件 250
使用PopUpManager 252
与弹出式控件交互 254
自定义光标 256
光标管理 256
忙碌状态的光标 256
手形光标 257
自定义光标 257
本章小结 258
AIR入门 259
AIR的用途 259
使用AIR的原因 260
使用AIR构建的应用
AIR的需求 260
构建AIR应用程序 262
IntroToAIR.mxml文件 262
IntroToAIR-app.xml
描述文件 263
AIR配置文件 264
创建一个AIR应用程序
(第Ⅱ部分) 268
修改IntroToAIR.mxml
MainWindow.mxml文件 270
IntroToAIR - app.xml
描述文件 271
本章小结 273
高级组件开发
自定义ActionScript组件 277
企业商标示例 278
UIComponent和
IUIComponent 278
CompanyLogo.as 278
组件结构 280
组件属性和Flex框架
生命周期 281
无效函数 281
添加子组件 282
使用invalidateProperties()
函数并且将属性应用到
组件中 283
测量组件 284
组件布局 285
为组件选择基类 287
设置子组件的大小 288
RockerSwitch示例 290
本章小结 297
自定义MXML组件 298
MXML与ActionScript组件 298
定制布局 299
重写updateDisplayList()
重写 layoutChrome()
创建元数据标签 302
构建模板组件 303
DefaultProperty 元标签 304
构建自定义子组件 305
扩展MXML组件 305
本章小结 306
扩展Flex组件 307
复合组件浅析 307
构建复合组件 308
扩展现有组件 311
扩展Button 311
扩展TextInput 313
扩展UIComponent与
标准组件 314
外观和行为 314
自定义容器 315
应用Flex组件生命
标签云 316
自定义复合组件 318
本章小结 320
高级事件编程 321
自定义事件与标准事件 321
继承标准事件 323
一个与多个 323
向AS类和MXML文件
   添加元数据 323
为自定义组件添加
自定义事件 324
处理事件运行时错误 324
事件流 325
事件优先级 325
阻止或更改默认行为 325
转发事件 326
自定义数据绑定 328
使用可绑定的元数据
自定义数据绑定与可绑定
的元数据标签 328
使用BindingUtils 331
ActionScript中自定义的
数据绑定 331
ChangeWatcher 332
本章小结 332
状态管理 334
状态的概念 334
添加States属性 335
使用Flex Builder的
Design View创建States
更改States属性 337
测试示例 337
MXML标签 338
添加组件 338
删除组件 339
消失,但却没有销毁 339
设置和更改属性与样式 340
更改事件处理程序 340
数据绑定 341
在ActionScript中创建状态 341
真实的状态管理 343
常见问题 343
States与ViewStack 343
本章小结 345
库的应用 347
ActionScript库 347
Flash Player库 347
Flex 库 348
SWC和SWF 348
使用Flex Builder创建库 349
创建库项目 349
添加资源 350
创建SWC 350
使用COMPC创建库 351
COMPC选项 352
添加资源 352
指定清单文件 352
针对组件库的最佳实践 353
共享源目录 353
建立后进行销售 354
应用库 354
libs文件夹 354
构建路径 354
利用库中的资源 355
使用SWC文件 356
本章小结 356
可视化效果与多媒体
CSS样式 359
内联样式与CSS 359
组件样式 361
基于约束的CSS布局 363
CSS样式和类继承 365
CSS样式和子组件 366
本章小结 369
皮肤与主题 370
皮肤的含义 370
嵌入式资源 370
编程皮肤 371
应用皮肤 371
为每个对象定义皮肤 372
在样式表中定义皮肤 373
缩放和九宫网格 374
在运行时更改样式 376
默认的Flex 3主题 379
应用主题 379
创建主题 380
分离主题到库中 380
本章小结 381
视觉特效 382
Flex特效 382
内置的Flex特效 384
应用特效 391
数据特效 392
缓和功能 394
复合特效 394
转场效果 399
特效事件 401
3D特效 402
Flex 4的特效 402
本章小结 402
动态皮肤和绘图API 404
绘图API 404
可编程的皮肤 413
额外的绘图API功能 416
过滤器 418
混合模式 419
Degrafa 419
本章小结 420
Flash集成 421
Flash平台的开发流 421
Flash - Flex工作流 423
在Flash中创建Flex组件的
剥离自定义Flex组件的
规划自定义Flex组件 429
构建Flex组件 430
构建Flash皮肤 432
Flex组件的皮肤 436
本章小结 439
加载外部资源 440
加载图像 440
SWFLoader类 443
Loader类 443
运行时的共享库 448
本章小结 448
视频和声音 449
引进媒体的方法 449
可用的文件格式 449
整合媒体内容 450
渐进性加载和流 454
Sound类 455
SoundLoaderContext类 455
播放和控制声音 456
访问ID3信息 460
SoundMixer类 462
Microphone类 463
视频类和组件 463
VideoDisplay组件 470
提示点 472
Camera类 472
未存档的视频类 473
Flash Player
MovieStar Update 473
本章小结 477
高级Flash集成 478
将Flex类应用到Flash中 478
通过RSL导入Flex
自定义类 478
导入本地Flex类 479
将Flash加载到Flex中 480
适合Flash CS3的
Flex Component Kit 480
向Flex中导入Flash
本地组件 484
Flex组件的自定义状态
和转场效果 488
本章小结 498
数 据 管 理
处理数据 501
快速的XML入门 501
XML和ActionScript:
在E4X之前 503
XML和ActionScript 3.0:
使用E4X 505
集合API 511
ICollectionView 511
ListCollectionView 514
关联数组/词典 517
使用字符串作为关键字 518
使用对象作为关键字 518
Repeater 520
执行过程中 520
执行后 521
交互处理 522
不使用Repeater 522
本章小结 523
格式化程序与验证器 524
格式化程序 524
使用标准格式化程序 525
如何处理输入数据错误 528
验证器 529
使用标准验证器 530
更改默认的错误消息 532
触发验证 533
ActionScript 3中的正则
表达式 534
通用正则表达式用例 534
正则表达式入门 535
RegExpValidator:验证器的
验证器 535
定制和集中格式化程序、
验证器 536
集中格式化程序 536
集中验证器 537
本章小结 539
使用列表组件 540
ListBase无处不在 540
使用List类 544
列表的项编辑功能 544
子列表 545
Menu类 546
创建Menu对象 546
使用Menu类 547
TileBase类 547
HorizontalList类 547
TileList类 548
List、HorizontalList和
TileList优化内存消耗 548
本章小结 549
高级数据控件 550
树型结构 550
给树添加数据 551
改变树的外观 552
应用树型控件 553
DataGrid 555
填充DataGrid 555
使用列 556
处理事件 557
定制呈现器 558
定制单元格 558
AdvancedDataGrid 563
实现AdvancedDataGrid 563
在AdvancedDataGrid中
对数据分组 564
AdvancedDataGrid中的
分层数据 565
OLAPDataGrid 566
OLAP简介 566
使用OLAPDataGrid 566
本章小结 570
Flex中的拖放操作 571
处理支持拖放的组件 571
使列表能够进行拖放
移动项 574
避免复制 574
处理拖放事件 574
对不支持拖放的组件添加
拖放支持 575
将组件设置为拖放
初始器 576
将组件设置为释放
目标对象 577
另外一些有关拖放的提示 578
自定义DragSource格式 578
自定义拖动代理 578
保留信息类型 579
本章小结 579
在AIR中的拖放 580
AIR拖放概述 580
Clipboard 580
The NativeDragManager 583
从AIR应用程序中拖动
图像中的剪贴板数据 585
延迟数据 588
向AIR应用程序中拖动文件 588
本章小结 592
使用图表组件 593
理解图表 593
为图表分配数据 593
图表类型 594
图表坐标轴 602
图系列 603
图表数据提示 604
运行时的图表交互 605
处理用户交互 605
编程交互 606
定制图表的外观 606
自定义渲染器 606
设置样式 607
本章小结 608
资源包和数据的本地化 609
使用属性文件的L10n 610
理解属性文件 610
字符编码处理 611
在Flex项目中构建区域
在Flex 3中实现i18n 614
在运行时加载资源 617
资源模块 617
以编程方式生成
ResourceBundle 618
资源与模块配对 618
全球化AIR应用程序 618
本章小结 619
客户端通信
Flex中的浏览器通信 623
了解Web上下文 623
使用flashVars将数据
传递到Flex中 623
链接到外部页面URL 626
与JavaScript交互 626
从Flex中调用JavaScript 626
从JavaScript函数
调用ActionScript函数 627
在ActionScript和
JavaScript之间传递数据 628
使用Flex-Ajax桥 636
禁用浏览器集成 637
本章小结 638
HTML与AIR的混合 639
在AIR应用程序中嵌入HTML
的理由 639
YouTube示例 640
在AIR中显示HTML 640
加载远程内容 640
加载内存中的内容 642
加载本地文件的内容 642
与JavaScript交互 644
从ActionScript调用
嵌入式JavaScript 644
从JavaScript调用
ActionScript 646
从ActionScript控制HTML
本章小结 647
深链接 649
Web上的深链接 649
深链接与Flex 649
Flex 3对深链接的支持 651
使用BrowserManager
在后台:Flex中的
深链接如何工作 655
真实的深链接:空间图像
 浏览器 656
示例2:使用导航状态 657
实例3:更复杂的图像
浏览器 659
搜索引擎索引和优化 663
相关的技术和工具 664
SWFAddress 664
UrlKit 665
历史记录管理器 665
本章小结 666
Flex中的系统交互 667
检测客户端系统性能 667
全屏显示 672
启用上下文菜单 675
添加和删除上下文
菜单选项 675
上下文菜单中的调用
系统交互的局限性 681
全屏模式的局限性 681
自定义上下文菜单的
局限性 681
本章小结 682
利用AIR技术实现本地
桌面支持 683
处理窗口 683
构建本地窗口 683
Native Window Explorer 688
本地菜单 689
上下文菜单 689
窗口级别与应用程序
级别的菜单 695
与System Tray/Dock交互 697
检测用户状态 699
监视网络连接 700
AIR的性能与Flash运行库 701
启用全屏模式 702
本章小结 702
Local Connection与共享对象 703
LocalConnection类 703
SWF之间的通信 703
跨域边界 705
使用数据 707
在40KB限制下正常工作 707
标准的LocalConnection
使用本地共享对象 708
创建或检索本地共享
在本地共享对象中
存储数据 708
从本地共享对象检索
显式保存本地共享对象 709
删除属性和销毁本地
共享对象 710
补充信息 710
序列化自定义类 713
本章小结 714
Flex的文件管理 715
使用FileReference类 716
处理FileReference类的
文件上传 717
用FileReference类
下载文件 719
取消文件的上传或下载 720
使用多个文件 720
服务端需考虑的事项 721
本章小结 722
AIR的本地文件管理 723
文件操作 723
引用目录 723
引用文件 724
导航路径 724
同步和异步API 725
同步复制文件 726
异步复制文件 727
其他的文件和目录操作 728
检查存在性 728
删除文件和目录 728
移动文件和目录 729
枚举目录 729
创建临时目录和文件 730
使用本地文件对话框 730
本地目录浏览器 730
用于打开对话框的本地
浏览器 732
打开多个对话框的本地
浏览器 733
本地文件保存对话框 734
读取和写入文件数据 735
将位图数据另存为JPEG
从文件中读取XML
文件系统控件 737
加密本地数据 739
写入数据 740
读取数据 740
删除数据 740
本章小结 741
第VIII部分
服务器集成
RPC服务简介 745
mx.rpc库 746
MXML与ActionScript类
之间的差异 747
参数绑定与显式参数
使用HTTPService组件 748
使用WebService组件 750
在MXML中使用
WebService 751
把WSDL操作转换为
MXML请求 752
在ActionScript中调用
WebService 753
调试远程服务调用 755
网络数据包探查 755
mx.rpc库中的调试跟踪 755
选择协议与服务器实现 759
AMF的另一种服务器实现
本章小结 760
错误处理 761
通过同步代码处理异常 761
Flash Debug Player与
Release Player 761
Try/Catch/Finally 762
异常冒泡 764
自定义错误类型 766
函数中的错误处理 767
事件的异步错误处理 768
重要的错误事件 768
Debug Player中的异步
本章小结 770
Flex和Flash媒体服务器 771
使用FMS视频流的好处 771
安装应用程序和了解实例 773
在Flex中开发FMS 773
基于FMS理解Netstream类 778
缓存控制 779
发布视频 779
数据流 782
本章小结 784
Flex和Zend框架下的 REST
风格的Web服务 785
REST风格的 Web服务 785
REST风格的路由示例
设置服务器和开发环境 787
可能需要的客户端软件 789
Zend框架的工作原理 790
Flex示例应用程序 792
从一个REST风格的
服务中检索数据 793
使用REST风格的服务
创建和更新数据 798
从REST风格的服务中
删除数据 800
本章小结 800
集成Flex和Java 801
Routes Web Service简介 801
设置服务器和开发环境 802
服务器端软件需求 802
可能需要的客户端
Grails Routes Web Service 804
Flex示例应用程序 807
RouteService.as 服务类 807
使用IResponder 807
使用自定义的服务器端
本章小结 814
.NET与Flex环境下的Web
Routes Web Service简介 815
设置服务器和开发环境 816
服务端软件需求 816
可能需要的客户端
.NET Routes Web Service 817
Flex示例应用程序 821
Import Web Service(WSDL)
访问Web服务 823
处理自定义的服务器端
本章小结 826
通过AIR访问离线数据 827
SQLite简介 827
同步与异步 828
创建数据库 828
异步打开一个数据库 829
同步打开一个数据库 830
使用数据定义语言 831
使用数据 833
创建数据 833
检索数据 836
更新数据 836
删除数据 838
使用事务导入数据 839
使在线数据可脱机访问 841
向SQLite数据库导入
为SQLite导入程序
改进XML 845
使用第三方SQLite数据库
管理应用程序 846
本章小结 846
数 据 服 务
LCDS简介 849
LCDS概述 849
理解LCDS 850
数据服务解决方案 851
客户端架构 851
服务器架构 853
服务类型 854
通信通道 856
动作消息格式(AMF) 857
使用Flex Builder创建LCDS
新的Flex项目向导 858
配置应用服务器 860
故障排除 862
服务器端调试 863
本章小结 863
LCDS与ColdFusion 864
ColdFusion 8与集成的
LCDS特定ColdFusion
安装窗口 864
LCDS特定ColdFusion
管理员窗口 866
事件网关 867
DataServicesMessaging 868
DataManagement 868
数据管理 868
本章小结 869
消息服务 870
消息服务概述 870
消息服务技术简介 870
发布与订阅 871
生产者与使用者 871
通过通道传递消息 871
从服务器发布消息 871
使用消息服务 871
在服务器上配置目标
在客户端上创建消息 873
发送消息 875
接收消息 876
在MXML中声明生产者
和使用者 877
过滤消息 877
检测连接性 878
从服务器发布 879
消息服务应用程序 881
示例1:聊天室 881
示例2:股票价格监控
示例3:生成PDF
本章小结 894
数据管理服务 896
为什么要使用DMS 896
关于域建模 896
创建、读取、更新、删除 897
用户之间的数据共享 897
大数据集的分页 897
偶尔的连接性 898
眼见为实:Six-Line Demo 898
第1行:声明一个数据
第2行:为托管数据声明
一个集合 899
第3行:为数据网格提
供托管数据 900
第4行:填充集合 900
第5行:提交更改和同步
客户端 900
第6行:撤销更改 900
后台操作 900
DMS技术解释 901
客户端组件和服务器
托管数据 901
托管关系 902
客户端编程 902
服务器集成 904
客户端与服务器端的
应用程序示例:DMS Fleet
Tracker 905
域建模 905
DMS的配置 908
自定义汇编程序 911
客户端编码 914
进一步的思考 917
本章小结 917
高级数据管理服务 918
DMS概述 918
概要到细节建模 918
克服项挂起的错误 920
管理共享和用户特定的
一个简单的即时消息
MessageDetails项 922
创建和传递用户消息 922
到NIO端点的流式
深入学习 925
本章小结 926
Data Service Stress Testing
Framework 927
数据管理服务应用程序的
压力测试 928
先决条件 929
编写测试应用程序 929
配置服务器 931
配置和启动浏览器
服务器 934
编译Test Administrator 934
运行压力测试 935
深入讨论 936
参数化测试应用程序 936
Test Administrator 936
创建定制的测试报告 937
本章小结 938
使用BlazeDS 939
BlazeDS的功能 939
服务器和客户端组件 940
通信通道 941
集成点 941
开发BlazeDS项目 941
安装BlazeDS即用版 942
创建组合的Flex/Java
使用远程对象 945
HTTP和Web服务 952
本章小结 956
MVC框架 959
什么是MVC 959
MVC组件 959
了解数据模型 960
了解视图 960
了解控制器 961
把三者组合在一起 961
为什么使用MVC 962
组件重用 962
分布式开发 962
有最权威的MVC吗 963
组件架构的MVC方法 963
本章小结 964
Cairngorm简介 965
Cairngorm交互的步骤 965
用户动作 966
分派一个事件 966
命令执行 968
委托业务功能 969
定位和调用一个服务 970
模型的定位和更新 971
变化在视图中的反映 973
本章小结 975
Cairngorm应用 976
主要角色 977
前端控制器 982
前端控制器的内部
ShopController 983
声明前端控制器 984
Cairngorm事件 984
事件类 985
事件类型 985
事件作为参数对象 986
自分派事件 987
Cairngorm命令 987
业务委托 990
在命令中使用业务 委托 990
创建业务委托 991
服务定位器 992
值对象 994
本章小结 997
高级Cairngorm 998
表示模型模式 998
使用Cairngorm表示
Cairngorm表示模型的
示例应用程序 1000
域模型 1003
进一步讨论 1003
组织Cairngorm项目 1003
小型Cairngorm项目 1004
大型Cairngorm项目 1004
Cairngorm的反模式 1005
胖控制器 1005
废物处理定位器模型 1007
依赖的链 1008
自定义Cairngorm 1009
记录Cairngorm事件和
安排异步命令的执行
将依赖性注入命令中 1012
存根服务层 1013
分散控制器 1014
可释放的控制器 1015
本章小结 1016
应用程序开发策略
最佳实践 1019
编码标准 1019
一致性 1019
清晰性 1019
整洁性 1020
面向对象的原则 1026
使用公有/私有/受保护的/
最终函数 1027
代码隐藏 1035
本章小结 1036
安全模型 1037
了解安全沙箱 1037
什么是crossdomain.xml 1038
allow-access-from 1039
allow-http-request-
headers-from 1040
site-control和元策略 1041
本地沙箱 1042
local-with-filesystem 1042
local-with-networking 1043
local-trusted 1043
本章小结 1044
模块化应用程序开发 1045
为什么要进行模块化
构建组件 1046
运行时共享库 1046
使用Module类和
ModuleLoader类 1047
跨模块通信 1050
跨模块数据访问 1055
本章小结 1061
应用程序性能策略 1062
理解对象的创建策略 1062
针对性能构建数据 1063
延迟加载数据 1063
多重服务调用的影响 1064
管理事件侦听器和数据
集合事件 1065
清理无用的事件
侦听器 1066
弱引用事件侦听器 1066
手动清理事件侦听器 1067
关联数组和字典 1068
使用图形 1069
使用位图缓存 1070
管理外部SWF内容 1070
对象缓存和回收 1071
本章小结 1072
使用ASDoc创建项目
什么是ASDoc 1073
使用ASDoc 1074
ASDoc注释和格式 1074
ASDoc标记 1075
getter和setter函数 1078
元数据 1080
HTML格式 1080
引用外部元素 1081
排除生成的输出中
应用自定义模板 1083
本章小结 1083
使用AIR部署桌面 1084
代码签名和证书 1084
获取证书 1085
在Flex Builder中创建和
签名AIR包 1087
使用开发人员证书添加
代码签名 1088
使用命令行打包和为AIR
应用程序添加签名 1090
发布AIR应用程序 1090
Web页面徽章安装 1091
使用Web Badge SDK 1091
自动安装 1094
更新AIR应用程序 1094
本章小结 1095
针对Flex和AIR进行双重
通过接口编码 1097
构建Flex Builder项目 1099
引用MainAppEntryPoint
使用IApplicationPersistence
使用Application-
PersistenceFactory 1103
使用条件编译 1105
条件编译方法概述 1106
查看ApplicationPersistence
配置Flex编译器 1107
本章小结 1108
测试和调试
调试Flex应用程序 1111
Flash Debug Player 1111
Flex Builder调试透视图 1112
设置断点 1112
在Debug模式下启动
应用程序 1114
单步调试代码 1115
检查应用程序的状态 1117
命令行调试器 1120
额外的调试技术 1120
调试Java服务器代码 1120
Internet流量监控 1122
特定于应用程序的
最大程度地利用日志 1124
调试绑定 1124
Adobe公用的bug数据库
和问题报告系统 1126
本章小结 1129
使用Flex概要分析器 1130
准备工作 1130
概要分析的基础知识 1131
概要分析和优化最佳
内存概要分析基础知识 1132
性能概要分析基础 1132
采样概要分析器基础 1133
Flex Builder 3的概要分析 1133
概要分析透视图 1133
启动概要分析器 1134
使用内存概要分析器 1137
使用性能概要分析器 1144
在概要分析器中过滤 1147
保存和加载概要分析
其他有用的功能 1149
概要分析器的应用 1151
使用概要分析器来检测
内存泄漏 1151
使用概要分析器来
优化算法 1155
创建自己的概要分析器 1159
本章小结 1160
使用FlexUnit的单元测试
与测试驱动开发 1161
为什么编写测试 1162
从一开始预防bug 1162
获得重构的信心 1162
设计中的驱动改进 1162
编写可测试软件 1162
快乐的开发人员和轻松
制作的文档 1163
技术和术语 1163
FlexUnit库 1163
单元测试、测试用例
和测试套件 1163
运行测试 1164
测试驱动开发的示例 1164
准备单元测试 1165
创建测试用例 1165
组装测试套件 1166
测试未能通过 1167
准备、调用、断言 1168
快乐和不快乐的
安装和卸载 1173
测试中的白色区域 1175
高级主题 1175
组织测试套件 1175
删除与模拟对象的依赖
Ant和Maven的持续
重要的测试用例 1180
测试覆盖 1181
行为驱动开发 1181
本章小结 1181
日志框架 1183
使用日志框架 1183
创建日志目标 1183
获得正确的记录器 1184
在不同级别进行
日志记录 1185
过滤日志语句 1185
只在必要时进行日志
定制日志框架 1187
实现远程日志目标 1187
实现Java远程记录器 1188
创建进行远程日志记录的
客户端 1190
深入主题 1191
嵌入式日志查看器 1191
Stopwatch日志记录 1193
使用ThunderBolt把日志
记录到Firebug中 1195
从生产代码中删除
本章小结 1198
自动化框架 1199
自动化框架的定义 1199
记录和重放 1200
自动化库 1201
运行时或编译时
自动化 1201
组件标识 1201
一个简单应用程序的
自动化 1202
安装一个自动化工具 1202
创建一个可测试的
应用程序 1203
编译自动化 1203
记录一个测试脚本 1204
重放测试脚本 1207
高级主题 1208
自动化自定义组件 1208
创建自定义代理 1208
本章小结 1209
ActionScript语言对比 1211
Copyrights(C) 2005 By 清华大学出版社第五事业部()&All
Rights Reserved
技术支持: 025- FAX: 025- E-Mail:
地址:清华大学南门内200米绿楼 电话:010- 邮编:100084

我要回帖

更多关于 display flex 的文章

 

随机推荐