图书介绍
Adobe Flex 3高级编程PDF|Epub|txt|kindle电子书版本网盘下载
![Adobe Flex 3高级编程](https://www.shukui.net/cover/3/30764889.jpg)
- (加)班得逊,(美)海德著 著
- 出版社: 北京:清华大学出版社
- ISBN:7302262503
- 出版时间:2011
- 标注页数:1218页
- 文件大小:247MB
- 文件页数:1254页
- 主题词:
PDF下载
下载说明
Adobe Flex 3高级编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第Ⅰ部分 Flex概述3
第1章 使用Flex的理由3
1.1 Flex的含义3
1.2 RIA的含义3
1.3 受欢迎的Flex6
1.3.1 揭秘Flash和Flex7
1.3.2 用户喜爱Flex的十大理由11
1.4 本章小结14
第2章 Flex 3生态系统15
2.1 Flex历史简介15
2.2 Adobe Flex 3生态系统17
2.2.1 运行时17
2.2.2 语言23
2.2.3 框架和API26
2.2.4 数据通信28
2.2.5 服务器29
2.3 Adobe Flex RIA工作流程31
2.3.1 设计与开发32
2.3.2 运行32
2.3.3 通信33
2.3.4 基本设施33
2.4 Flex生态系统未来的扩展33
2.5 本章小结34
第3章 ActionScript 3.0基础35
3.1 核心语言概念35
3.1.1 基本语法35
3.1.2 保留关键字36
3.1.3 变量和数据类型37
3.2 控制结构37
3.2.1 条件语句37
3.2.2 循环39
3.3 使用类和数据类型40
3.3.1 值类型40
3.3.2 数字型41
3.3.3 字符串42
3.3.4 数组43
3.3.5 向量45
3.3.6 对象45
3.3.7 类型转换46
3.3.8 自检47
3.4 面向对象编程49
3.4.1 Obiect类50
3.4.2 包和类50
3.4.3 类特性51
3.4.4 类成员51
3.4.5 接口和继承56
3.5 本章小结57
第4章 运用ActionScript 3.058
4.1 Flash平台框架58
4.2 显示编程59
4.3 事件模型59
4.3.1 事件类和类型60
4.3.2 事件进程60
4.3.3 事件流62
4.3.4 EventDispatcher类62
4.4 Flash Player API63
4.4.1 Display API63
4.4.2 Flash AIR的API67
4.4.3 Flash 10的API68
4.5 本章小结72
第5章 Flex Builder 373
5.1 Flex Builder入r73
5.1.1 Flex Builder和Eclipse74
5.1.2 学习Flex和获取帮助74
5.2 Flex Builder 3工作台78
5.2.1 工作区79
5.2.2 创建和交换工作区79
5.2.3 工作区配置79
5.2.4 编辑器80
5.2.5 视图80
5.2.6 透视图81
5.2.7 创建自定义透视图84
5.3 Flex Builder 3中的新内容84
5.3.1 新向导84
5.3.2 设计模式的增强84
5.3.3 开发功能的增强84
5.3.4 CS3套件的整合85
5.4 本章小结85
第Ⅱ部分 使用Flex 3开发应用程序第6章 使用Flex Builder 389
6.1 Flex编译过程89
6.1.1 开发89
6.1.2 编译90
6.1.3 发布91
6.2 关于项目91
6.3 创建Flex应用程序93
6.3.1 创建一个Flex项目93
6.3.2 使用设计模式95
6.3.3 使用数据绑定100
6.3.4 使用触发器和特效101
6.3.5 编译应用程序101
6.4 创建ActionScript应用程序102
6.4.1 创建ActionScript项目102
6.4.2 比较文件大小105
6.5 非正式的SWF元数据标记105
6.6 本章小结107
第7章 MXML基础108
7.1 语言原则108
7.1.1 MXML是XML108
7.1.2 命名约定108
7.1.3 MXML语法109
7.1.4 显示层次109
7.1.5 MXML名称空间110
7.2 使用MXML113
7.2.1 MXML标签113
7.2.2 MXML属性115
7.2.3 使用MXML和CSS119
7.2.4 使用MXML和ActionScript120
7.3 本章小结127
第8章 使用Flex Builder 3进行开发128
8.1 项目管理128
8.1.1 项目属性128
8.1.2 导出项目132
8.1.3 导入项目132
8.1.4 导航项目134
8.2 创建应用程序139
8.2.1 创建调试版本139
8.2.2 创建导出版本140
8.2.3 激活源视图141
8.3 语言智能144
8.3.1 编辑代码144
8.3.2 代码参数146
8.3.3 代码自检146
8.3.4 键盘快捷键148
8.4 本章小结149
第9章 自定义Flex Builder 3150
9.1 优化Flex Builder性能150
9.1.1 项目开发的最佳实践150
9.1.2 Eclipse的性能管理152
9.2 定制工作台156
9.2.1 编辑工作区列表156
9.2.2 使用自定义快捷方式157
9.2.3 高效的布局158
9.2.4 管理工作区首选项159
9.3 使用Flex Builder代码库160
9.3.1 使用本地历史数据160
9.3.2 用于Subversion源代码管理的Subclipse插件162
9.3.3 分离本地项目177
9.4 本章小结181
第Ⅲ部分 使用组件185
第10章 组件的生命周期和类的层次结构185
10.1 Flex应用程序中Flash的作用185
10.2 Flex框架的生命周期186
10.2.1 逐帧186
10.2.2 生命周期187
10.3 Flex类的层次189
10.3.1 Flash和Flex类的程序包189
10.3.2 UIComponent189
10.3.3 容器类191
10.3.4 List类192
10.3.5 Formatters类、Validators类和Collection类192
10.3.6 框架的功能和事件194
10.4 本章小结195
第11章 数据绑定和事件的使用196
11.1 使用花括号{}196
11.2 [Bindable]元数据199
11.3 事件200
11.3.1 捕获阶段201
11.3.2 目标阶段201
11.3.3 冒泡处理阶段202
11.4 终止事件202
11.5 事件侦听器203
11.5.1 使用MXML204
11.5.2 使用ActionScript204
11.6 事件类型205
11.7 自定义事件205
11.7.1 创建自定义事件205
11.7.2 [Event]元数据206
11.7.3 使用自定义事件的策略207
11.8 本章小结208
第12章 用户接口控件与容器209
12.1 静态控件209
12.1.1 mx.controls.Label与mx.controls.Text209
12.1.2 mx.controls.Image209
12.1.3 mx.controls.SWFLoader210
12.1.4 mx.controls.HRule和mx.controls.VRule211
12.1.5 mx.controls.ProgressBar211
12.2 输入控件212
12.2.1 mx.controls.Button和mx.controls.LinkButton212
12.2.2 mx.controls.TextInput与mx.controls.TextArea212
12.2.3 mx.controls.NumericStepper213
12.2.4 mx.controls.DateChooser and mx.controls.DateField213
12.2.5 mx.controls.CheckBox214
12.2.6 mx.controls.ComboBox214
12.2.7 mx.controls.RadioButton and mx.controls.RadioButton-Group215
12.2.8 mx.controls.HSlider和mx.controls.VSlider216
12.2.9 mx.controls.RichTextEditor216
12.2.10 mx.controls.PopUpButton217
12.2.11 mx.controls.PopUpMenuButton218
12.2.12 mx.controls.ColorPicker218
12.3 布局容器219
12.3.1 mx.containers.Canvas219
12.3.2 mx.container.VBox和mx.container.HBox220
12.3.3 mx.containers.HDividedBox和mx.containersVDividedBox220
12.3.4 mx.core.Application、mx.containers.Panel以及mx.containers.TitleWindow221
12.3.5 mx.containers.Grid222
12.3.6 mx.containers.Tile224
12.3.7 mx.containers.Form225
12.3.8 mx.containers.ControlBar226
12.3.9 mx.containers.Application-ControlBar226
12.4 导航组件227
12.4.1 创建策略227
12.4.2 mx.containers.Accordion227
12.4.3 mx.containers.TabNavigator228
12.4.4 mx.containers.ViewStack229
12.4.5 mx.controls.LinkBar230
12.4.6 mx.controls.TabBar230
12.4.7 mx.containers.MenuBar与mx.controls.Menu230
12.4.8 mx.controls.ButtonBar和mx.controls.ToggeButtonBar231
12.5 列表控件232
12.6 本章小结233
第13章 布局策略234
13.1 坐标定位234
13.2 约束定位234
13.3 用百分比定位236
13.4 对齐定位237
13.5 高级约束238
13.5.1 ConstraintColumns(列约束)239
13.5.2 ConstraintRows(行约束)240
13.5.3 ActionScript中的约束240
13.5.4 约束规格241
13.6 使用includeInLayout241
13.7 性能注意事项242
13.8 本章小结242
第14章 用户界面的整合243
14.1 创建表单243
14.1.1 提交表单内容246
14.1.2 使用Flex Builder设计视图构建表单247
14.1.3 设置表单上的defaultButton(默认按钮)247
14.2 自定义提示条248
14.3 构建弹出控件250
14.3.1 警告250
14.3.2 使用PopUpManager252
14.3.3 与弹出式控件交互254
14.4 自定义光标256
14.4.1 光标管理256
14.4.2 忙碌状态的光标256
14.4.3 手形光标257
14.4.4 自定义光标257
14.5 本章小结258
第15章 AIR入门259
15.1 AIR的用途259
15.1.1 使用AIR的原因260
15.1.2 使用AIR构建的应用程序260
15.1.3 AIR的需求260
15.2 构建AIR应用程序262
15.2.1 IntroToAIR.mxml文件262
15.2.2 IntroToAIR-app.xml描述文件263
15.3 AIR配置文件264
15.4 创建一个AIR应用程序(第Ⅱ部分)268
15.4.1 修改IntroToAIR.mxml窗口268
15.4.2 MainWindow.mxml文件270
15.4.3 IntroToAIR-app.xml描述文件271
15.5 本章小结273
第Ⅳ部分 高级组件开发277
第16章 自定义ActionScript组件277
16.1 企业商标示例278
16.1.1 UIComponent和IUIComponent278
16.1.2 CompanyLogo.as278
16.2 组件结构280
16.2.1 组件属性和Flex框架生命周期281
16.2.2 无效函数281
16.2.3 添加子组件282
16.2.4 使用invalidateProperties()函数并且将属性应用到组件中283
16.2.5 测量组件284
16.2.6 组件布局285
16.2.7 为组件选择基类287
16.2.8 设置子组件的大小288
16.3 RockerSwitch示例290
16.4 本章小结297
第17章 自定义MXML组件298
17.1 MXML与ActionScript组件298
17.2 定制布局299
17.2.1 重写updateDisplayList()函数299
17.2.2 重写layoutChrome()函数301
17.2.3 创建元数据标签302
17.3 构建模板组件303
17.3.1 DefaultProperty元标签304
17.3.2 构建自定义子组件305
17.4 扩展MXML组件305
17.5 本章小结306
第18章 扩展Flex组件307
18.1 复合组件浅析307
18.2 构建复合组件308
18.2.1 属性308
18.2.2 事件309
18.2.3 布局311
18.3 扩展现有组件311
18.3.1 扩展Button311
18.3.2 扩展TextInput313
18.3.3 扩展UIComponent与标准组件314
18.3.4 外观和行为314
18.4 自定义容器315
18.4.1 应用Flex组件生命周期316
18.4.2 标签云316
18.4.3 自定义复合组件318
18.5 本章小结320
第19章 高级事件编程321
19.1 自定义事件与标准事件321
19.1.1 继承标准事件323
19.1.2 一个与多个323
19.2 向AS类和MXML文件添加元数据323
19.2.1 为自定义组件添加自定义事件324
19.2.2 处理事件运行时错误324
19.3 事件流325
19.3.1 事件优先级325
19.3.2 阻止或更改默认行为325
19.3.3 转发事件326
19.4 自定义数据绑定328
19.4.1 使用可绑定的元数据标签328
19.4.2 自定义数据绑定与可绑定的元数据标签328
19.5 使用BindingUtils331
19.5.1 ActionScript中自定义的数据绑定331
19.5.2 ChangeWatcher332
19.6 本章小结332
第20章 状态管理334
20.1 状态的概念334
20.2 添加States属性335
20.2.1 使用Flex Builder的Design View创建States属性335
20.2.2 更改States属性337
20.2.3 测试示例337
20.3 MXML标签338
20.3.1 添加组件338
20.3.2 删除组件339
20.3.3 消失,但却没有销毁339
20.3.4 设置和更改属性与样式340
20.3.5 更改事件处理程序340
20.3.6 数据绑定341
20.4 在ActionScript中创建状态341
20.5 真实的状态管理343
20.6 常见问题343
20.6.1 States与ViewStack343
20.6.2 优化344
20.7 本章小结345
第21章 库的应用347
21.1 ActionScript库347
21.1.1 Flash Player库347
21.1.2 Flex库348
21.2 SWC和SWF348
21.3 使用Flex Builder创建库349
21.3.1 创建库项目349
21.3.2 添加资源350
21.3.3 创建SWC350
21.4 使用COMPC创建库351
21.4.1 COMPC选项352
21.4.2 添加资源352
21.4.3 指定清单文件352
21.5 针对组件库的最佳实践353
21.5.1 共享源目录353
21.5.2 建立后进行销售354
21.6 应用库354
21.6.1 libs文件夹354
21.6.2 构建路径354
21.6.3 利用库中的资源355
21.6.4 使用SWC文件356
21.7 本章小结356
第Ⅴ部分 可视化效果与多媒体359
第22章 样式359
22.1 CSS样式359
22.1.1 内联样式与CSS359
22.1.2 组件样式361
22.1.3 基于约束的CSS布局363
22.1.4 CSS样式和类继承365
22.1.5 CSS样式和子组件366
22.2 本章小结369
第23章 皮肤与主题370
23.1 皮肤的含义370
23.1.1 嵌入式资源370
23.1.2 编程皮肤371
23.1.3 应用皮肤371
23.1.4 为每个对象定义皮肤372
23.1.5 在样式表中定义皮肤373
23.1.6 缩放和九宫网格374
23.1.7 在运行时更改样式376
23.2 主题378
23.2.1 默认的Flex 3主题379
23.2.2 应用主题379
23.2.3 创建主题380
23.2.4 分离主题到库中380
23.3 本章小结381
第24章 视觉特效382
24.1 Flex特效382
24.1.1 内置的Flex特效384
24.1.2 应用特效391
24.1.3 数据特效392
24.1.4 缓和功能394
24.1.5 复合特效394
24.1.6 转场效果399
24.1.7 特效事件401
24.1.8 3D特效402
24.1.9 Flex 4的特效402
24.2 本章小结402
第25章 动态皮肤和绘图API404
25.1 绘图API404
25.2 可编程的皮肤413
25.3 额外的绘图API功能416
25.3.1 遮罩417
25.3.2 过滤器418
25.3.3 混合模式419
25.3.4 Degrafa419
25.4 本章小结420
第26章 Flash集成421
26.1 Flash平台的开发流421
26.2 Flash-Flex工作流423
26.3 在Flash中创建Flex组件的皮肤424
26.4 剥离自定义Flex组件的皮肤429
26.4.1 规划自定义Flex组件429
26.4.2 构建Flex组件430
26.4.3 构建Flash皮肤432
26.4.4 Flex组件的皮肤436
26.5 本章小结439
第27章 加载外部资源440
27.1 加载图像440
27.2 SWFLoader类443
27.3 Loader类443
27.4 运行时的共享库448
27.5 本章小结448
第28章 视频和声音449
28.1 引进媒体的方法449
28.1.1 可用的文件格式449
28.1.2 整合媒体内容450
28.2 渐进性加载和流454
28.2.1 Sound类455
28.2.2 SoundLoaderContext类455
28.2.3 播放和控制声音456
28.2.4 访问ID3信息460
28.2.5 SoundMixer类462
28.2.6 Microphone类463
28.3 视频463
28.3.1 视频类和组件463
28.3.2 VideoDisplay组件470
28.3.3 提示点472
28.3.4 Camera类472
28.3.5 未存档的视频类473
28.3.6 Flash Player MovieStar Update473
28.4 本章小结477
第29章 高级Flash集成478
29.1 将Flex类应用到Flash中478
29.1.1 通过RSL导入Flex自定义类478
29.1.2 导入本地Flex类479
29.2 将Flash加载到Flex中480
29.2.1 适合Flash CS3的Flex Component Kit480
29.2.2 向Flex中导入Flash本地组件484
29.2.3 Flex组件的自定义状态和转场效果488
29.3 本章小结498
第Ⅵ部分 数据管理501
第30章 处理数据501
30.1 XML501
30.1.1 快速的XML入门501
30.1.2 XML和ActionScript:在E4X之前503
30.1.3 XML和ActionScript 3.0:使用E4X505
30.2 集合API511
30.2.1 IList511
30.2.2 ICollectionView511
30.2.3 ListCollectionView514
30.3 关联数组/词典517
30.3.1 使用字符串作为关键字518
30.3.2 使用对象作为关键字518
30.4 Repeater520
30.4.1 执行过程中520
30.4.2 执行后521
30.4.3 交互处理522
30.4.4 不使用Repeater522
30.5 本章小结523
第31章 格式化程序与验证器524
31.1 概述524
31.2 格式化程序524
31.2.1 使用标准格式化程序525
31.2.2 如何处理输入数据错误528
31.3 验证器529
31.3.1 使用标准验证器530
31.3.2 更改默认的错误消息532
31.3.3 触发验证533
31.4 ActionScript 3中的正则表达式534
31.4.1 通用正则表达式用例534
31.4.2 正则表达式入门535
31.5 RegExpValidator:验证器的验证器535
31.6 定制和集中格式化程序、验证器536
31.6.1 集中格式化程序536
31.6.2 集中验证器537
31.7 本章小结539
第32章 使用列表组件540
32.1 ListBase无处不在540
32.2 使用List类544
32.2.1 列表的项编辑功能544
32.2.2 子列表545
32.3 Menu类546
32.3.1 创建Menu对象546
32.3.2 使用Menu类547
32.4 TileBase类547
32.4.1 HorizontalList类547
32.4.2 TileList类548
32.5 List、HorizontalList和TileList优化内存消耗548
32.6 本章小结549
第33章 高级数据控件550
33.1 概述550
33.2 树型结构550
33.2.1 给树添加数据551
33.2.2 改变树的外观552
33.2.3 应用树型控件553
33.3 DataGrid555
33.3.1 填充DataGrid555
33.3.2 使用列556
33.3.3 处理事件557
33.4 定制呈现器558
33.4.1 定制单元格558
33.4.2 标题562
33.5 AdvancedDataGrid563
33.5.1 实现AdvancedDataGrid563
33.5.2 在AdvancedDataGrid中对数据分组564
33.5.3 AdvancedDataGrid中的分层数据565
33.6 OLAPDataGrid566
33.6.1 OLAP简介566
33.6.2 使用OLAPDataGrid566
33.7 本章小结570
第34章 Flex中的拖放操作571
34.1 概述571
34.2 处理支持拖放的组件571
34.2.1 使列表能够进行拖放操作573
34.2.2 移动项574
34.2.3 避免复制574
34.3 处理拖放事件574
34.4 对不支持拖放的组件添加拖放支持575
34.4.1 将组件设置为拖放初始器576
34.4.2 将组件设置为释放目标对象577
34.5 另外一些有关拖放的提示578
34.5.1 自定义DragSource格式578
34.5.2 自定义拖动代理578
34.5.3 保留信息类型579
34.6 本章小结579
第35章 在AIR中的拖放580
35.1 AIR拖放概述580
35.1.1 Clipboard580
35.1.2 The NativeDragManager583
35.2 从AIR应用程序中拖动数据585
35.2.1 图像中的剪贴板数据585
35.2.2 延迟数据588
35.3 向AIR应用程序中拖动文件588
35.4 本章小结592
第36章 使用图表组件593
36.1 理解图表593
36.1.1 为图表分配数据593
36.1.2 图表类型594
36.1.3 图表坐标轴602
36.1.4 图系列603
36.1.5 图表数据提示604
31.1.6 图例605
36.2 运行时的图表交互605
36.2.1 处理用户交互605
36.2.2 编程交互606
36.3 定制图表的外观606
36.3.1 自定义渲染器606
36.3.2 设置样式607
36.3.3 效果607
36.4 本章小结608
第37章 资源包和数据的本地化609
37.1 概述609
37.2 使用属性文件的L10n610
37.2.1 理解属性文件610
37.2.2 字符编码处理611
37.2.3 在Flex项目中构建区域设置612
37.3 在Flex 3中实现i18n614
37.4 在运行时加载资源617
37.4.1 资源模块617
37.4.2 以编程方式生成ResourceBundle618
37.4.3 资源与模块配对618
37.5 全球化AIR应用程序618
37.6 本章小结619
第Ⅶ部分 客户端通信623
第38章 Flex中的浏览器通信623
38.1 了解Web上下文623
38.2 使用flashVars将数据传递到Flex中623
38.3 链接到外部页面URL626
38.4 与JavaScript交互626
38.4.1 从Flex中调用JavaScript626
38.4.2 从JavaScript函数调用ActionScript函数627
38.4.3 在ActionScript和JavaScript之间传递数据628
38.5 使用Flex-Ajax桥636
38.6 禁用浏览器集成637
38.7 本章小结638
第39章 HTML与AIR的混合639
39.1 在AIR应用程序中嵌入HTML的理由639
39.2 YouTube示例640
39.3 在AIR中显示HTML640
39.3.1 加载远程内容640
39.3.2 加载内存中的内容642
39.3.3 加载本地文件的内容642
39.4 与JavaScript交互644
39.4.1 从ActionScript调用嵌入式JavaScript644
39.4.2 从JavaScript调用ActionScript646
39.4.3 从ActionScript控制HTML DOM647
39.5 本章小结647
第40章 深链接649
40.1 Web上的深链接649
40.2 深链接与Flex649
40.3 Flex 3对深链接的支持651
40.3.1 使用BrowserManager API651
40.3.2 在后台:Flex中的深链接如何工作655
40.4 真实的深链接:空间图像浏览器656
40.4.1 示例2:使用导航状态657
40.4.2 实例3:更复杂的图像浏览器659
40.5 搜索引擎索引和优化663
40.6 相关的技术和工具664
40.6.1 SWFAddress664
40.6.2 UrlKit665
40.6.3 历史记录管理器665
40.7 本章小结666
第41章 Flex中的系统交互667
41.1 检测客户端系统性能667
41.2 全屏显示672
41.3 启用上下文菜单675
41.3.1 添加和删除上下文菜单选项675
41.3.2 上下文菜单中的调用操作678
41.4 系统交互的局限性681
41.4.1 全屏模式的局限性681
41.4.2 自定义上下文菜单的局限性681
41.5 本章小结682
第42章 利用AIR技术实现本地桌面支持683
42.1 处理窗口683
42.1.1 构建本地窗口683
42.1.2 Native Window Explorer688
42.2 本地菜单689
42.2.1 上下文菜单689
42.2.2 窗口级别与应用程序级别的菜单695
42.3 与System Tray/Dock交互697
42.4 检测用户状态699
42.5 监视网络连接700
42.6 AIR的性能与Flash运行库701
42.7 启用全屏模式702
42.8 本章小结702
第43章 Local Connection与共享对象703
43.1 概述703
43.2 LocalConnection类703
43.2.1 SWF之间的通信703
43.2.2 跨域边界705
43.2.3 使用数据707
43.2.4 在40KB限制下正常工作707
43.2.5 标准的LocalConnection错误707
43.3 使用本地共享对象708
43.3.1 创建或检索本地共享对象708
43.3.2 在本地共享对象中存储数据708
43.3.3 从本地共享对象检索数据708
43.3.4 显式保存本地共享对象709
43.3.5 删除属性和销毁本地共享对象710
43.3.6 补充信息710
43.3.7 序列化自定义类713
43.4 本章小结714
第44章 Flex的文件管理715
44.1 概述715
44.2 使用FileReference类716
44.2.1 处理FileReference类的事件716
44.2.2 文件上传717
44.2.3 用FileReference类下载文件719
44.2.4 取消文件的上传或下载720
44.3 使用多个文件720
44.4 服务端需考虑的事项721
44.5 本章小结722
第45章 AIR的本地文件管理723
45.1 文件操作723
45.1.1 引用目录723
45.1.2 引用文件724
45.1.3 导航路径724
45.2 同步和异步API725
45.2.1 同步复制文件726
45.2.2 异步复制文件727
45.3 其他的文件和目录操作728
45.3.1 检查存在性728
45.3.2 删除文件和目录728
45.3.3 移动文件和目录729
45.3.4 枚举目录729
45.3.5 创建临时目录和文件730
45.4 使用本地文件对话框730
45.4.1 本地目录浏览器730
45.4.2 用于打开对话框的本地浏览器732
45.4.3 打开多个对话框的本地浏览器733
45.4.4 本地文件保存对话框734
45.5 读取和写入文件数据735
45.5.1 将位图数据另存为JPEG文件735
45.5.2 从文件中读取XML数据737
45.6 文件系统控件737
45.7 加密本地数据739
45.7.1 写入数据740
45.7.2 读取数据740
45.7.3 删除数据740
45.8 本章小结741
第Ⅷ部分 服务器集成745
第46章 RPC服务简介745
46.1 概述745
46.2 mx.rpc库746
46.2.1 MXML与ActionScript类之间的差异747
46.2.3 参数绑定与显式参数传递748
46.3 使用HTTPService组件748
46.4 使用WebService组件750
46.4.1 在MXML中使用WebService751
46.4.2 把WSDL操作转换为MXML请求752
46.4.3 在ActionScript中调用WebService753
46.5 调试远程服务调用755
46.5.1 网络数据包探查755
46.5.2 mx.rpc库中的调试跟踪755
46.6 选择协议与服务器实现759
46.7 AMF的另一种服务器实现方案759
46.8 本章小结760
第47章 错误处理761
47.1 通过同步代码处理异常761
47.1.1 Flash Debug Player与Release Player761
47.1.2 Try/Catch/Finally762
47.1.3 异常冒泡764
47.1.4 自定义错误类型766
47.1.5 THROW766
47.1.6 函数中的错误处理767
47.2 事件的异步错误处理768
47.2.1 重要的错误事件768
47.2.2 Debug Player中的异步事件769
47.3 本章小结770
第48章 Flex和Flash媒体服务器771
48.1 使用FMS视频流的好处771
48.2 安装应用程序和了解实例773
48.3 在Flex中开发FMS773
48.4 基于FMS理解Netstream类778
48.5 缓存控制779
48.6 发布视频779
48.7 数据流782
48.8 本章小结784
第49章 Flex和Zend框架下的REST风格的Web服务785
49.1 REST风格的Web服务785
49.2 REST风格的路由示例API786
49.2.1 设置服务器和开发环境787
49.2.2 可能需要的客户端软件789
49.3 Zend框架的工作原理790
49.4 Flex示例应用程序792
49.4.1 从一个REST风格的服务中检索数据793
49.4.2 使用REST风格的服务创建和更新数据798
49.4.3 从REST风格的服务中删除数据800
49.5 本章小结800
第50章 集成Flex和Java801
50.1 Routes Web Service简介801
50.2 设置服务器和开发环境802
50.2.1 服务器端软件需求802
50.2.2 可能需要的客户端软件803
50.3 Grails Routes Web Service804
50.4 Flex示例应用程序807
50.4.1 RouteService.as服务类807
50.4.2 使用IResponder807
50.4.3 使用自定义的服务器端错误810
50.5 本章小结814
第51章 .NET与Flex环境下的Web服务815
51.1 Routes Web Service简介815
51.2 设置服务器和开发环境816
51.2.1 服务端软件需求816
51.2.2 可能需要的客户端软件817
51.3 .NET Routes Web Service817
51.4 Flex示例应用程序821
51.4.1 Import Web Service(WSDL)工具821
51.4.2 访问Web服务823
51.4.3 处理自定义的服务器端错误824
51.5 本章小结826
第52章 通过AIR访问离线数据827
52.1 SQLite简介827
52.2 同步与异步828
52.3 创建数据库828
52.3.1 异步打开一个数据库829
52.3.2 同步打开一个数据库830
52.3.3 使用数据定义语言831
52.4 使用数据833
52.4.1 创建数据833
52.4.2 检索数据836
52.4.3 更新数据836
52.4.4 删除数据838
52.5 使用事务导入数据839
52.6 使在线数据可脱机访问841
52.6.1 向SQLite数据库导入XML841
52.6.2 为SQLite导入程序改进XML845
52.7 使用第三方SQLite数据库管理应用程序846
52.8 本章小结846
第Ⅸ部分 数据服务849
第53章 LCDS简介849
53.1 LCDS概述849
53.2 理解LCDS850
53.2.1 数据服务解决方案851
53.2.2 客户端架构851
53.2.3 服务器架构853
53.2.4 服务类型854
53.2.5 通信通道856
53.2.6 动作消息格式(AMF)857
53.3 使用Flex Builder创建LCDS项目857
53.3.1 新的Flex项目向导858
53.3.2 配置应用服务器860
53.4 故障排除862
53.4.1 日志862
53.4.2 服务器端调试863
53.5 本章小结863
第54章 LCDS与ColdFusion864
54.1 ColdFusion 8与集成的LCDS864
54.1.1 LCDS特定ColdFusion安装窗口864
54.1.2 LCDS特定ColdFusion管理员窗口866
54.2 事件网关867
54.2.1 DataServicesMessaging868
54.2.2 DataManagement868
54.3 数据管理868
54.4 本章小结869
第55章 消息服务870
55.1 消息服务概述870
55.2 消息服务技术简介870
55.2.1 发布与订阅871
55.2.2 生产者与使用者871
55.2.3 通过通道传递消息871
55.2.4 从服务器发布消息871
55.3 使用消息服务871
55.3.1 在服务器上配置目标地址872
55.3.2 在客户端上创建消息873
55.3.3 发送消息875
55.3.4 接收消息876
55.3.5 在MXML中声明生产者和使用者877
55.3.6 过滤消息877
55.3.7 检测连接性878
55.3.8 从服务器发布879
55.4 消息服务应用程序881
55.4.1 示例1:聊天室881
55.4.2 示例2:股票价格监控系统884
55.4.3 示例3:生成PDF文档888
55.5 本章小结894
第56章 数据管理服务896
56.1 概述896
56.2 为什么要使用DMS896
56.2.1 关于域建模896
56.2.2 创建、读取、更新、删除897
56.2.3 用户之间的数据共享897
56.2.4 大数据集的分页897
56.2.5 偶尔的连接性898
56.3 眼见为实:Six-Line Demo898
56.3.1 第1行:声明一个数据服务899
56.3.2 第2行:为托管数据声明一个集合899
56.3.3 第3行:为数据网格提供托管数据900
56.3.4 第4行:填充集合900
56.3.5 第5行:提交更改和同步客户端900
56.3.6 第6行:撤销更改900
56.3.7 后台操作900
56.4 DMS技术解释901
56.4.1 客户端组件和服务器组件901
56.4.2 托管数据901
56.4.3 托管关系902
56.4.4 客户端编程902
56.4.5 服务器集成904
56.4.6 客户端与服务器端的协作905
56.5 应用程序示例:DMS Fleet Tracker905
56.5.1 域建模905
56.5.2 DMS的配置908
56.5.3 自定义汇编程序911
56.5.4 客户端编码914
56.5.5 进一步的思考917
56.6 本章小结917
第57章 高级数据管理服务918
57.1 DMS概述918
57.2 概要到细节建模918
57.3 克服项挂起的错误920
57.4 管理共享和用户特定的数据921
57.4.1 一个简单的即时消息系统921
57.4.2 创建新的MessageDetails项922
57.4.3 创建和传递用户消息922
57.4.4 到NIO端点的流式AMF924
57.5 深入学习925
57.6 本章小结926
第58章 Data Service Stress Testing Framework927
58.1 概述927
58.2 数据管理服务应用程序的压力测试928
58.2.1 先决条件929
58.2.2 编写测试应用程序929
58.2.3 配置服务器931
58.2.4 配置和启动浏览器服务器934
58.2.5 编译Test Administrator934
58.2.6 运行压力测试935
58.3 深入讨论936
58.3.1 参数化测试应用程序936
58.3.2 预先配置Test Administrator936
58.3.3 创建定制的测试报告937
58.4 本章小结938
第59章 使用BlazeDS939
59.1 概述939
59.2 BlazeDS的功能939
59.2.1 服务器和客户端组件940
59.2.2 通信通道941
59.2.3 集成点941
59.3 开发BlazeDS项目941
59.3.1 安装BlazeDS即用版942
59.3.2 创建组合的Flex/Java项目943
59.3.3 使用远程对象945
59.3.4 HTTP和Web服务952
59.4 本章小结956
第Ⅹ部分 使用Cairngorm959
第60章 MVC框架959
60.1 什么是MVC959
60.2 MVC组件959
60.2.1 了解数据模型960
60.2.2 了解视图960
60.2.3 了解控制器961
60.2.4 把三者组合在一起961
60.3 为什么使用MVC962
60.3.1 抽象962
60.3.2 组件重用962
60.3.3 分布式开发962
60.3.4 维护963
60.3.5 有最权威的MVC吗963
60.4 组件架构的MVC方法963
60.5 本章小结964
第61章 Cairngorm简介965
61.1 概述965
61.2 Cairngorm交互的步骤965
61.2.1 用户动作966
61.2.2 分派一个事件966
61.2.3 命令执行968
61.2.4 委托业务功能969
61.2.5 定位和调用一个服务970
61.2.6 模型的定位和更新971
61.2.7 变化在视图中的反映973
61.3 本章小结975
第62章 Cairngorm应用976
62.1 概述976
62.2 主要角色977
62.3 前端控制器982
62.3.1 前端控制器的内部构造982
62.3.2 ShopController983
62.3.3 声明前端控制器984
62.4 Caimgorm事件984
62.4.1 事件类985
62.4.2 事件类型985
62.4.3 事件作为参数对象986
62.4.4 自分派事件987
62.4.5 Cairngorm命令987
62.4.6 业务委托990
62.4.7 在命令中使用业务委托990
62.4.8 创建业务委托991
62.4.9 服务定位器992
62.4.10 值对象994
62.5 本章小结997
第63章 高级Cairngorm998
63.1 表示模型模式998
63.1.1 使用Caimgorm表示模型999
63.1.2 Cairngorm表示模型的示例应用程序1000
63.1.3 域模型1003
63.1.4 进一步讨论1003
63.2 组织Caimgorm项目1003
63.2.1 小型Cairngorm项目1004
63.2.2 大型Cairngorm项目1004
63.3 Caimgorm的反模式1005
63.3.1 胖控制器1005
63.3.2 废物处理定位器模型1007
63.3.3 依赖的链1008
63.4 自定义Cairngorm1009
63.4.1 记录Cairngorm事件和命令1009
63.4.2 安排异步命令的执行时间1010
63.4.3 将依赖性注入命令中1012
63.4.4 存根服务层1013
63.4.5 分散控制器1014
63.4.6 可释放的控制器1015
63.5 本章小结1016
第Ⅺ部分 应用程序开发策略1019
第64章 最佳实践1019
64.1 编码标准1019
64.1.1 一致性1019
64.1.2 清晰性1019
64.1.3 整洁性1020
64.2 面向对象的原则1026
64.2.1 封装1026
64.2.2 使用公有/私有/受保护的/最终函数1027
64.2.3 继承1028
64.2.4 代码隐藏1035
64.3 本章小结1036
第65章 安全模型1037
65.1 了解安全沙箱1037
65.2 什么是crossdomain.xml1038
65.2.1 allow-access-from1039
65.2.2 allow-http-request-headers-from1040
65.2.3 site-control和元策略1041
65.3 本地沙箱1042
65.3.1 local-with-filesystem1042
65.3.2 local-with-networking1043
65.3.3 local-trusted1043
65.4 本章小结1044
第66章 模块化应用程序开发1045
66.1 概述1045
66.2 为什么要进行模块化开发1046
66.3 构建组件1046
66.4 运行时共享库1046
66.5 使用Module类和ModuleLoader类1047
66.5.1 跨模块通信1050
66.5.2 跨模块数据访问1055
66.6 本章小结1061
第67章 应用程序性能策略1062
67.1 理解对象的创建策略1062
67.2 针对性能构建数据1063
67.2.1 延迟加载数据1063
67.2.2 多重服务调用的影响1064
67.3 管理事件侦听器和数据绑定1064
67.3.1 集合事件1065
67.3.2 清理无用的事件侦听器1066
67.3.3 弱引用事件侦听器1066
67.3.4 手动清理事件侦听器1067
67.4 关联数组和字典1068
67.5 使用图形1069
67.5.1 帧率1070
67.5.2 使用位图缓存1070
67.5.3 管理外部SWF内容1070
67.5.4 对象缓存和回收1071
67.6 本章小结1072
第68章 使用ASDoc创建项目文档1073
68.1 什么是ASDoc1073
68.2 使用ASDoc1074
68.3 ASDoc注释和格式1074
68.3.1 ASDoc标记1075
68.3.2 类1076
68.3.3 函数1076
68.3.4 属性1077
68.3.5 getter和setter函数1078
68.3.6 元数据1080
68.3.7 HTML格式1080
68.3.8 引用外部元素1081
68.3.9 排除生成的输出中的类1082
68.3.10 应用自定义模板1083
68.4 本章小结1083
第69章 使用AIR部署桌面1084
69.1 代码签名和证书1084
69.1.1 获取证书1085
69.1.2 在Flex Builder中创建和签名AIR包1087
69.1.3 使用开发人员证书添加代码签名1088
69.2 使用命令行打包和为AIR应用程序添加签名1090
69.3 发布AIR应用程序1090
69.3.1 Web页面徽章安装1091
69.3.2 使用Web Badge SDK1091
69.3.3 自动安装1094
69.4 更新AIR应用程序1094
69.5 本章小结1095
第70章 针对Flex和AIR进行双重部署1097
70.1 通过接口编码1097
70.1.1 优点1099
70.1.2 缺点1099
70.1.3 构建FlexBuilder项目1099
70.1.4 引用MainAppEntryPoint组件1100
70.1.5 使用IApplicationPersistence接口1102
70.1.6 使用Application-PersistenceFactory1103
70.2 使用条件编译1105
70.2.1 优点1105
70.2.2 缺点1106
70.2.3 条件编译方法概述1106
70.2.4 查看ApplicationPersistence文件1106
70.2.5 配置Flex编译器1107
70.3 本章小结1108
第Ⅻ部分 测试和调试1111
第71章 调试Flex应用程序1111
71.1 概述1111
71.2 Flash Debug Player1111
71.3 Flex Builder调试透视图1112
71.3.1 设置断点1112
71.3.2 在Debug模式下启动应用程序1114
71.3.3 单步调试代码1115
71.3.4 检查应用程序的状态1117
71.4 命令行调试器1120
71.5 额外的调试技术1120
71.5.1 调试Java服务器代码1120
71.5.2 Internet流量监控1122
71.5.3 特定于应用程序的调试1123
71.5.4 最大程度地利用日志1124
71.5.5 调试绑定1124
71.5.6 Adobe公用的bug数据库和问题报告系统1126
71.6 本章小结1129
第72章 使用Flex概要分析器1130
72.1 概述1130
72.2 准备工作1130
72.3 概要分析的基础知识1131
72.3.1 概要分析和优化最佳实践1131
72.3.2 内存概要分析基础知识1132
72.3.3 性能概要分析基础1132
72.3.4 采样概要分析器基础1133
72.4 Flex Builder 3的概要分析1133
72.4.1 概要分析透视图1133
72.4.2 启动概要分析器1134
72.4.3 使用内存概要分析器1137
72.4.4 使用性能概要分析器1144
72.4.5 在概要分析器中过滤1147
72.4.6 保存和加载概要分析数据1148
72.4.7 其他有用的功能1149
72.5 概要分析器的应用1151
72.5.1 使用概要分析器来检测内存泄漏1151
72.5.2 使用概要分析器来优化算法1155
72.6 创建自己的概要分析器1159
72.7 本章小结1160
第73章 使用FlexUnit的单元测试与测试驱动开发1161
73.1 概述1161
73.2 为什么编写测试1162
73.2.1 从一开始预防bug1162
73.2.2 获得重构的信心1162
73.2.3 设计中的驱动改进1162
72.2.4 编写可测试软件1162
73.2.5 快乐的开发人员和轻松制作的文档1163
73.3 技术和术语1163
73.3.1 FlexUnit库1163
73.3.2 单元测试、测试用例和测试套件1163
73.3.3 运行测试1164
73.4 测试驱动开发的示例1164
73.4.1 准备单元测试1165
73.4.2 创建测试用例1165
73.4.3 组装测试套件1166
73.4.4 测试未能通过1167
73.4.5 准备、调用、断言1168
73.4.6 快乐和不快乐的路径1171
73.4.7 安装和卸载1173
73.4.8 测试中的白色区域1175
73.5 高级主题1175
73.5.1 组织测试套件1175
73.5.2 删除与模拟对象的依赖关系1176
73.5.3 Ant和Maven的持续集成1180
73.5.4 重要的测试用例1180
73.5.5 测试覆盖1181
73.5.6 行为驱动开发1181
73.6 本章小结1181
第74章 日志框架1183
74.1 概述1183
74.2 使用日志框架1183
74.2.1 创建日志目标1183
74.2.2 获得正确的记录器1184
74.2.3 在不同级别进行日志记录1185
74.2.4 过滤日志语句1185
74.2.5 只在必要时进行日志记录1186
74.3 定制日志框架1187
74.3.1 实现远程日志目标1187
74.3.2 实现Java远程记录器1188
74.3.3 创建进行远程日志记录的客户端1190
74.4 深入主题1191
74.4.1 嵌入式日志查看器1191
74.4.2 Stopwatch日志记录1193
74.4.3 使用ThunderBolt把日志记录到Firebug中1195
74.4.4 从生产代码中删除日志1197
74.5 本章小结1198
第75章 自动化框架1199
75.1 概述1199
75.2 自动化框架的定义1199
75.2.1 记录和重放1200
75.2.2 自动化库1201
75.2.3 运行时或编译时自动化1201
75.2.4 组件标识1201
75.3 一个简单应用程序的自动化1202
75.3.1 安装一个自动化工具1202
75.3.2 创建一个可测试的应用程序1203
75.3.3 编译自动化1203
75.3.4 记录一个测试脚本1204
75.3.5 重放测试脚本1207
75.4 高级主题1208
75.4.1 自动化自定义组件1208
75.4.2 创建自定义代理1208
75.5 本章小结1209
附录A ActiorScript语言对比1211