第1课 理解RIA
1.1 理解计算机应用程序的演化过程
1.2 超越基于页面的架构
1.3 明确RIA的优势
1.3.1 企业经理
1.3.2 IT组织
1.3.3 终端用户
1.4 各种RIA技术
1.4.1 Ajax
1.4.2 Flash
1.4.3 Flex
1.4.4 WPF、XAML、Silverlight和Expression
1.5 学习收获
第2课 开始
2.1 开始Flex应用程序开发
2.2 创建项目和MXML应用程序
2.3 理解Flex Builder 3工作平台
2.4 运行应用程序
2.5 创建第二个应用程序页面,然后进入设计模式
2.6 准备下一课
2.7 学习收获
第3课 布置界面
3.1 学习容器相关知识
3.2 用设计模式布置电子商务应用程序
3.3 使用基于约束条件的布局
3.3.1 使用相对父容器的约束条件
3.3.2 使用增强型约束条件
3.4 使用视图状态
3.5 在源码模式中布置应用程序
3.6 学习收获
第4课 使用简单的控件
4.1 简单控件简介
4.2 显示图片
4.3 建立详细信息视图
4.4 使用数据绑定将数据结构链接到简单的控件
4.5 使用Form布局容器布置简单的控件
4.6 将单选按钮和数据字段添加到Dashboard
4.7 学习收获
第5课 处理事件和数据结构
5.1 理解事件处理
5.1.1 理解一个简单的例子
5.1.2 用ActionScript函数处理事件
5.1.3 调用事件处理函数时传递数据
5.2 当creationComplete事件发生时建立数据结构
5.3 使用来自事件对象的数据
5.4 建立一个自定义的ActionScript类
5.5 建立一个方法来创建对象
5.6 建立购物车类
5.7 学习收获
第6课 为控件使用远程XML数据
6.1 从HTTPService中获取XML数据
6.1.1 创建HTTPService对象
6.1.2 调用send()方法
6.1.3 使用返回的数据
6.1.4 理解安全问题
6.2 通过HTTPService获取XML数据
6.3 将HTTPService数据填入ArrayCollection
6.3.1 使用ArrayCollection
6.3.2 使用Collection作为数据提供者
6.4 将数据填入ComboBox控件并用编程方法添加选项
6.5 在Tree控件中使用XML数据
6.5.1 理解E4X运算符
6.5.2 将XML数据填入Tree控件
6.6 获取XML数据并将这些数据转换为自定义类型的ArrayCollection
6.7 对复杂数据结构使用数据绑定
6.8 操作购物车数据
6.8.1 将项目添加到购物车
6.8.2 对ArrayCollection中的项目进行排序
6.8.3 添加项目或者更新数量
6.8.4 使用光标定位ShoppingCartItem
6.9 添加Remove按钮
6.10 学习收获
第7课 用MXML创建组件
7.1 介绍MXML组件
7.1.1 理解创建自定义组件的基础知识
7.1.2 一步步创建自定义组件
7.1.3 在应用程序架构中使用自定义组件
7.2 创建可更新/删除商品的组件,并将它实例化
7.3 单击Update和Delete按钮时弹出商品信息
7.4 创建另一个值对象
7.5 为三个应用程序都创建数据管理器组件
7.6 使用新的数据管理器组件
7.7 实现添加商品的功能
7.8 为Dashboard应用程序创建并使用组件
7.9 学习收获
第8课 使用控件和Repeater控制数据集
8.1 使用数据集
8.1.1 理解HorizontalList和TileList组件
8.1.2 实现labelFuntcion
8.1.3 实现itemRenderer
8.2 使用HorizontalList和itemRenderer显示类别信息
8.3 基于选中的类别显示商品
8.3.1 使用Repeater遍历数据集
8.3.2 从重复的组件中获取数据
8.3.3 定位Repeater建立的组件
8.3.4 理解TileList和Repeater的性能差异
8.3.5 基于类别显示商品
8.4 编写状态以显示商品信息详情
8.5 将商品放入购物车
8.6 学习收获
第9课 使用自定义事件
9.1 理解松耦合架构的优势
9.2 分发事件
9.3 为组件声明事件
9.4 明确对自定义事件类的需求
9.5 建立并使用CategoryEvent
9.6 创建并使用ProductEvent类
9.6.1 使用ProductEvent从购物车中移除商品
9.6.2 使用ProductEvent向购物车添加商品
9.7 理解事件流和事件冒泡
9.8 学习收获
第10课 用ActionScript 3.0创建自定义组件
10.1 用ActionScript构建组件
10.2 创建类的基本结构
10.3 重写createChildren()方法
10.3.1 在ActionScript中创建Button
10.3.2 使用addChild()方法向组件添加Button
10.3.3 理解边饰和rawChildren
10.3.4 使用rawChildren上的addChild()向边饰部分添加元素
10.4 在Flex中定位和调整组件大小
10.5 理解measure()方法
10.6 重写updateDisplayList()方法
10.7 学习收获
第11课 使用DataGrid与项目呈现器
11.1 介绍DataGrid和项目呈现器
11.2 向ChartPod添加通用的DataGrid
11.3 向Dashboard中添加HTTPService调用
11.4 用DataGrid显示购物车
11.4.1 为DataGridColumn添加内联的编辑控件
11.4.2 创建MXML的项目呈现器以显示商品
11.4.3 创建内联的MXML项目呈现器用于显示Remove按钮
11.4.4 使用set和get函数更新ShoppingCartItem
11.5 使用AdvancedDataGrid
11.5.1 为AdvancedDataGrid排序
11.5.2 以专家模式进行排序
11.5.3 设置AdvancedDataGrid的样式
11.5.4 对数据进行分组
11.5.5 显示摘要数据
11.6 学习收获
第12课 使用拖放
12.1 介绍拖放操作管理器
12.2 在两个DataGrid之间拖放
12.3 在DataGrid和List之间拖放
12.4 用不可以直接拖曳组件上实现拖放操作
12.5 将商品拖进购物车
12.6 学习收获
第13课 实现导航
13.1 导航
13.2 在DataEntry程序中使用TabNavigator
13.3 在电子商务应用程序中添加主页和结账页面
13.4 创建由ViewStack显示的结账过程的第一步
13.5 使用ViewStack完成结账过程
13.6 学习收获
第14课 使用格式器和验证器
14.1 介绍格式器和验证器
14.2 用格式器类显示电子商务应用程序的货币信息
14.3 使用验证器类
14.4 用正则表达式来验证数据(第一部分)
14.5 用正则表达式来验证数据(第二部分)
14.6 构建自定义验证器类
14.7 学习收获
第15课 实现历史管理和深度链接
15.1 历史管理简介
15.2 实现Navigator容器的历史管理
15.3 构建自定义的历史管理器
15.4 介绍深度链接
15.4.1 实现Flex 3的深度链接
15.4.2 为程序添加深度链接
15.5 学习收获
第16课 自定义Flex应用程序的外观
16.1 用样式和皮肤来设计
16.2 使用样式
16.2.1 用标签的属性设置样式
16.2.2 理解样式继承
16.2.3 用mx:Style标签设置样式
16.2.4 用Flex Builder工具来编写CSS
16.2.5 用CSS文件来设置样式
16.3 在运行时修改CSS
16.3.1 运行时修改CSS的优点
16.3.2 从CSS文件创建SWF
16.3.3 用StyleManager加载CSS的SWF
16.3.4 使用加载的CSS覆盖样式
16.4 皮肤组件
16.4.1 图形皮肤
16.4.2 导入CS3创建的皮肤
16.4.3 可编程的皮肤
16.5 学习收获
第17课 使用Web服务
17.1 服务器通信介绍
17.2 使用远程服务器调用的事件模型
17.3 配置应用程序在本地运行
17.4 在Dashboard中使用Web服务
17.4.1 处理Web服务的结果
17.4.2 调用Web服务方法
17.5 在DataEntry程序里使用Web服务
17.6 使用Web Service Introspection向导
17.7 在应用程序中使用生成代码
17.8 用Flex Builder重构
17.9 完成生成代码的集成
17.10 更新和删除商品
17.11 学习收获
第18课 访问服务器端对象
18.1 向服务器上传文件
18.2 用RemoteObject来保存订单
18.2.1 更新Flex编译器命令
18.2.2 在结账过程分发订单确认事件
18.2.3 创建和调用远程对象
18.2.4 把ShoppingCart传入Checkout组件
18.2.5 改变程序状态以将其返回Welcome页面
18.3 把ActionScript对象映射到服务器对象
18.4 Flex Builder数据向导
18.5 学习收获
第19课 可视化数据
19.1 探索Flex图表组件
19.1.1 图表类型
19.1.2 图表软件包
19.1.3 图表的组成部分
19.2 布置最初的图表
19.3 填充图表
19.3.1 指定图表的系列
19.3.2 向折线图和柱状图添加横轴和纵轴
19.4 向图表添加图例
19.5 限制轴上显示的标识数量
19.6 与图表交互
19.6.1 鼠标经过事件
19.6.2 单击事件
19.6.3 选中事件
19.7 添加图表事件
19.8 向图表添加动画
19.9 用样式自定义图表外观
19.10 学习收获
第20课 创建模块化的程序
20.1 介绍Flex 3的模块化程序
20.2 使用Flex模块
20.2.1 使用Module类
20.2.2 用ModuleLoader标签来代替Checkout代码
20.3 理解RSL
20.4 使用Flex框架RSL缓存
20.4.1 理解框架缓存的目的
20.4.2 使用有签名的RSL与没有签名的RSL
20.4.3 检查程序的当前大小
20.4.4 配置程序使用框架RSL
20.4.5 检查框架RSL带来的差别
20.5 创建库项目
20.5.1 把类和资源加入库
20.5.2 在FlexGrocer程序中使用FlexGrocerLibrary
20.6 学习收获
第21课 部署Flex应用程序
21.1 编译应用程序的部署版本
21.2 用AIR摆脱浏览器
21.2.1 开始AIR
21.2.2 安装AIR
21.2.3 安装第一个程序
21.3 创建AIR应用程序
21.3.1 创建新的AIR项目
21.3.2 使Dashboard程序成为AIR应用程序
21.3.3 用Application.xml文件定制程序
21.3.4 导出AIR文件
21.4 学习收获
第22课 创建过渡和行为
22.1 介绍行为和过渡
22.1.1 在组件上使用行为
22.1.2 在视图状态上使用过渡
22.2 在组件上实现效果
22.3 为视图状态添加效果
22.4 学习收获
第23课 Flex的打印功能
23.1 介绍Flex的打印功能
23.2 第一次使用Flex的打印功能
23.3 在不可见容器中使用PrintDataGrid
23.4 在单独的组件中构建打印视图
23.5 调整打印输出的缩放比例
23.6 从结账过程打印收据
23.7 学习收获
第24课 使用共享对象
24.1 介绍共享对象
24.1.1 创建共享对象
24.1.2 读取共享对象
24.2 构建SharedObject来保存购物车数据
24.3 从已有的共享对象中读取数据
24.4 学习收获
第25课 调试Flex应用程序
25.1 调试技术简介
25.2 观察客户端与服务器端的数据交换
25.3 学习更多调试器相关知识
25.3.1 学习设置断点的更多相关细节
25.3.2 在调试器中检查变量及其相关值
25.4 使用try-catch处理错误
25.4.1 使用try-catch语法
25.4.2 理解错误类型
25.4.3 使用多个catch块
25.4.4 使用一个catch块的示例
25.4.5 在第一个catch块中使用基类Error的不良做法示例
25.4.6 使用finally语句
25.4.7 使用throw语句
25.4.8 创建自己的错误类
25.5 学习收获
第26课 对Flex应用程序进行剖析
26.1 Flash Player的内存使用
26.1.1 Flash Player的内存分配
26.1.2 按引用传递和按值传递
26.1.3 Flash Player的垃圾收集
26.1.4 垃圾收集
26.2 对Flex应用程序进行内存剖析
26.2.1 审查ProfilerTest应用程序
26.2.2 剖析ProfilerTest应用程序
26.2.3 修复ImageDisplay类
26.3 对Flex应用程序进行性能剖析
26.3.1 剖析ProfilerTest应用程序
26.3.2 修复ProfilerTest类
26.4 学习收获
附录A 安装指南