第1 课 理解RIA 1
1.1 理解计算机应用程序的演化过程 2
1.2 超越基于页面的架构 3
1.3 明确RIA 的优势 4
1.3.1 企业经理 4
1.3.2 IT 组织 4
1.3.3 终端用户 5
1.4 各种RIA 技术 5
1.4.1 AJAX 5
1.4.2 Java 虚拟机 6
1.4.3 微软Silverlight 6
1.4.4 Adobe Flash Platform 地 7
1.5 学习收获 9
第2 课 开始 10
2.1 开始Flex 应用程序开发 10
2.2 创建项目和MXML 应用程序 11
2.3 理解Flash Builder 工作空间 16
2.4 运行应用程序 19
2.5 探索Flash Builder 调试器 23
2.6 准备下一课 30
2.7 学习收获 32
第3 课 布置界面 33
3.1 学习布局 34
3.1.1 理解容器 34
3.1.2 理解布局对象 34
3.1.3 组合容器和布局对象 35
3.1.4 滚动内容 35
3.1.5 MXML 标签解密 36
3.2 布置电子商务应用程序 37
3.2.1 在Source 视图中开始布局 37
3.2.2 继续在设计视图中布局 39
3.2.3 定义商品区域 42
3.3 使用基于约束的布局 43
3.4 使用视图状态 47
3.4.1 创建视图状态 47
3.4.2 控制视图状态 50
3.5 重构 52
3.5.1 使用复合容器 53
3.5.2 重构应用程序 54
3.6 学习收获 56
第4 课 使用简单的控件 57
4.1 简单控件简介 57
4.2 显示图片 59
4.3 建立详细信息视图 62
4.4 使用数据绑定将数据结构链接到简单的控件 64
4.5 使用Form 布局容器布置简单的控件 66
4.6 学习收获 68
第5 课 处理事件 69
5.1 理解事件处理 69
5.1.1 分析一个简单的例子 71
5.1.2 用ActionScript 函数处理事件 72
5.1.3 调用事件处理函数时传递数据 72
5.1.4 使用事件对象中的数据 73
5.1.5 检查事件对象 75
5.2 处理系统事件 78
5.2.1 理解creationComplete 事件 78
5.2.2 基于创建完成事件修改数据 79
5.3 学习收获 81
第6 课 使用远程XML 数据 82
6.1 使用嵌入的XML 数据 82
6.1.1 将Model 外部化 83
6.1.2 使用对象还是使用XML 85
6.2 使用运行时加载的XML 87
6.2.1 创建HTTPService 对象 88
6.2.2 调用send()方法 88
6.2.3 访问返回的数据 88
6.2.4 理解安全问题 90
6.3 通过HTTPService 获取XML 数据 91
6.4 通过E4X 搜索XML 数据 93
6.5 使用动态XML 数据 98
6.6 在Flex控件中使用XMLListCollection 102
6.7 学习收获 103
第7 课 创建类 104
7.1 创建自定义的ActionScript 类 105
7.2 创建值对象 105
7.3 构建一个创建对象的方法 111
7.4 创建购物车类 114
7.5 处理购物车中的数据 118
7.5.1 向购物车中添加商品 118
7.5.2 添加一件商品或者更新商品数量 120
7.5.3 有条件地添加ShoppingCart-Item 120
7.6 学习收获 125
第8 课 使用数据绑定和集合 126
8.1 深入理解数据绑定 126
8.1.1 剖析一个简单的例子 127
8.1.2 剖析一个复杂些的例子 129
8.2 编译器 132
8.2.1 隐式的getter 和setter 132
8.2.2 事件分发和监听 133
8.2.3 通过事件实现数据绑定 134
8.3 理解[Bindable]的含义 135
8.4 使用ArrayCollection 136
8.4.1 填充ArrayCollection 136
8.4.2 使用ArrayCollection 142
8.4.3 排序ArrayCollection 144
8.4.4 重构并实现光标搜索 147
8.4.5 使用光标删除商品 149
8.4.6 筛选ArrayCollection 151
8.5 重构ShoppingCartItem 152
8.6 学习收获 153
第9 课 将应用程序拆分成组件 154
9.1 MXML 组件简介 155
9.1.1 创建自定义组件的基础知识 156
9.1.2 一步一步地创建自定义组件 156
9.1.3 在应用程序中使用自定义组件 158
9.2 分离ShoppingView 组件 159
9.3 分离ProductItem 组件 164
9.4 创建用于管理数据加载的组件 172
9.5 学习收获 179
第10 课 使用DataGroup 和List 180
10.1 使用List 181
10.2 在List 中使用DataGroup 183
10.2.1 实现itemRenderer 184
10.2.2 在ShoppingView 中使用DataGroup 188
10.2.3 理解虚拟化 190
10.2.4 实现虚拟化 191
10.3 虚拟化与List 192
10.4 根据选择的类别显示杂货商品 193
10.4.1 基于类别显示杂货商品 193
10.4.2 为类别列表添加事件处理程序 194
10.5 学习收获 195
第11 课 创建和分派事件 196
11.1 理解松散耦合的好处 196
11.2 分派事件 198
11.3 为组件声明事件 201
11.4 什么时候需要自定义事件类 203
11.5 创建并使用UserAcknowledgeEvent 203
11.6 理解事件流及事件冒泡 207
11.7 创建及使用ProductEvent 类 211
11.7.1 创建ProductList 组件 213
11.7.2 使用ProductList 组件 215
11.7.3 使用ProductEvent 添加和删除商品 215
11.7.4 处理集合变化事件 217
11.8 学习收获 219
第12 课 使用DataGrid 与项目呈现器 220
12.1 Spark 与MX 220
12.2 DataGrid 和项目呈现器简介 221
12.3 用DataGrid 显示购物车 222
12.3.1 使用CartGrid 组件 223
12.3.2 为DataGridColumn 添加内联的编辑控件 224
12.3.3 创建MXML 的项目呈现器以显示商品 225
12.3.4 创建内联的MXML 项目呈现器用于显示Remove 按钮 227
12.3.5 重用ProductEvent 类 229
12.3.6 创建一个labelFunction 来显示小计 230
12.4 使用AdvancedDataGrid 232
12.4.1 对AdvancedDataGrid 排序 232
12.4.2 以专家模式进行排序 233
12.4.3 设置AdvancedDataGrid 的样式 234
12.4.4 对数据进行分组 238
12.4.5 显示摘要数据 242
12.5 学习收获 249
第13 课 使用拖放 250
13.1 介绍拖放操作管理器 250
13.2 在两个DataGrid 之间拖放 252
13.3 在DataGrid 和List 之间拖放 254
13.4 在不可以直接拖曳的组件上实现拖放 257
13.5 将商品拖进购物车 262
13.6 学习收获 266
第14 课 实现导航 267
14.1 导航介绍 267
14.2 使用ViewStack 创建结账流程 269
14.3 在应用程序中集成CheckoutView 273
14.4 学习收获 276
第15 课 使用格式化器和验证器 277
15.1 格式化器和验证器简介 277
15.1.1 格式化器 278
15.1.2 验证器 278
15.2 使用Formatter 类 279
15.3 双向绑定 282
15.4 使用Validator 类 282
15.5 学习收获 285
第16 课 使用样式定制Flex 应用 286
16.1 通过样式和皮肤来应用设计 286
16.2 让外观更整洁 287
16.3 应用样式 288
16.3.1 通过标签属性设置行内样式 289
16.3.2 理解样式继承 291
16.3.3 通过<fx:Style>标签设置样式 291
16.3.4 通过CSS 文件设置样式 294
16.3.5 为应用程序添加样式 296
16.4 在运行时动态修改CSS 302
16.4.1 运行时加载CSS 的优点 302
16.4.2 基于CSS 文件创建SWF 303
16.4.3 使用StyleManager 加载CSS SWF 303
16.4.4 用加载的CSS 覆盖已有样式 304
16.5 学习收获 304
第17 课 使用皮肤定制Flex 应用 305
17.1 理解Spark 组件中皮肤的概念 306
17.2 皮肤与状态 309
17.2.1 在Flex 中实现以编程方式绘制图像 309
17.2.2 使用皮肤定制按钮状态 312
17.3 为应用程序创建皮肤 316
17.4 学习收获 319
第18 课 自定义ActionScript 组件 320
18.1 理解组件与ActionScript 3.0 的关系 321
18.2 构建组件并不容易 321
18.3 理解Flex 组件 321
18.4 为什么要创建组件 323
18.5 定义组件 324
18.5.1 定义接口 325
18.5.2 选择基类 325
18.5.3 创建类 326
18.5.4 使用自定义的类 328
18.6 创建外观 329
18.6.1 确定皮肤组件的需求 330
18.6.2 创建皮肤 331
18.7 为组件添加功能 335
18.7.1 异步通信 335
18.7.2 事件通信 340
18.7.3 清理工作 342
18.8 为皮肤创建呈现器 344
18.9 学习收获 346
附录 安装说明 347
· · · · · · (
收起)