第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