《FLEX 3.0 RIA开发详解:基于ACTIONSCRIPT 3.0实现》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:黄曦等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121056482
  • 页数:628 页
图书介绍:Flex是目前最流行的RIA(Rich Internet Application)开发技术之一。本书由浅入深,循序渐进地讲解如何使用Flex技术开发RIA应用程序。全书内容包括Flex简介、安装和配置Flex开发运行环境、熟悉Flex开发工具、ActionScript 3.0语法、Flex组件开发、CSS布局、美化界面、数据传输与交互、开发框架Cairngorm等。为了便于读者学习,本书最后两章分别对两个较综合的实例进行分析,详细讲解了Cairngorm开发框架的搭建、组件设计、功能设计、界面外观设计。本书适合广大Flex程序开发人员、RIA开发爱好者和大专院校学生阅读,尤其是有编程经历的技术开发人员。

第一篇 基础篇 2

第1章 Flex概述 2

1.1 Flex简介 2

1.1.1 Flex的技术特点 3

1.1.2 Flex 3.0的新特性 5

1.2 Flex Builder 3的下载与安装 6

1.2.1 安装Flex Builder 3的系统要求 7

1.2.2 下载Flex Builder 3 Beta 1 7

1.2.3 Flex Builder 3 Beta 1的安装 9

1.3 Flex基础结构MXML介绍 11

1.4 建立第一个Flex 3.0程序 12

1.5 编译与运行第一个Flex 3.0程序 15

1.6 小结 16

第2章 熟悉开发环境Flex Builder 3 17

2.1 熟悉Flex Builder 3工作区 17

2.2.1 Perspectives(透视) 17

2.2.2 Editors(编辑器) 18

2.2.3 Views(视图) 20

2.2 编译与运行Flex 3.0程序详解 21

2.3 调试Flex 3.0程序 23

2.3.1 添加断点 23

2.3.2 调试程序 24

2.3.3 监视变量 25

2.4 Flex 3.0项目工程概述 25

2.4.1 Flex Project 26

2.4.2 ActionScript Project 26

2.4.3 AIR Project 26

2.4.4 Flex Library Project 26

2.5 Flex Builder 3常用快捷键 27

2.6 使用Flex Help 27

2.7 小结 28

第二篇 ActionScript 3.0语法篇 30

第3章 ActionScript 3.0基础 30

3.1 ActionScript 3.0概述 30

3.2 使用ActionScript 3.0 30

3.2.1 在MXML文件中直接编写ActionScript 3.0 31

3.2.2 在AS文件中编写ActionScript 3.0 31

3.2.3 MXML中引用AS文件 33

3.3 创建第一个ActionScript 3.0应用程序 33

3.4 小结 37

第4章 数据类型 38

4.1 常量与变量 38

4.1.1 直接常量和符号常量 38

4.1.2 变量 39

4.1.3 变量赋初值 40

4.1.4 局部变量和全局变量 40

4.1.5 变量的存储方式 42

4.2 整型数据 43

4.2.1 整型常量 43

4.2.2 整型变量 44

4.3 实型数据 45

4.3.1 实型常量的表示方法 46

4.3.2 实型变量 47

4.4 字符串数据 47

4.4.1 字符串常量 48

4.4.2 转义字符 48

4.4.3 字符串变量 49

4.5 各类型数据之间的转换 49

4.5.1 自动类型转换 49

4.5.2 强制类型转换 50

4.6 小结 50

第5章 运算符和表达式 51

5.1 ActionScript 3.0运算符简介 51

5.2 算术运算符和算术表达式 52

5.2.1 基本的算术运算符 52

5.2.2 算术表达式 53

5.2.3 运算符的优先级和结合性 53

5.2.4 自增、自减运算符 53

5.3 关系运算符和关系表达式 54

5.3.1 关系运算符 54

5.3.2 关系表达式 55

5.4 逻辑运算符和逻辑表达式 56

5.4.1 逻辑运算符 56

5.4.2 逻辑运算的值 57

5.4.3 逻辑表达式 57

5.5 赋值运算符和赋值表达式 58

5.3.1 简单赋值运算符和简单赋值表达式 58

5.3.2 复合赋值运算符和复合赋值表达式 59

5.6 逗号运算符和逗号表达式 59

5.7 位运算符 60

5.8 小结 63

第6章 程序设计的基本结构 64

6.1 顺序结构程序设计 64

6.1.1 表达式语句 64

6.1.2 函数调用语句 64

6.1.3 复合语句 65

6.1.4 空语句 65

6.1.5 赋值语句 65

6.2 分支结构程序设计 67

6.2.1 if语句 67

6.2.2 if…else语句 67

6.2.3 if…else…if语句 68

6.2.4 if语句的嵌套 71

6.2.5 switch语句 72

6.3 循环结构程序设计 74

6.3.1 goto语句 74

6.3.2 while语句 75

6.3.3 do-while语句 75

6.3.4 for语句 77

6.3.5 循环的嵌套 80

6.3.6 几种循环语句的比较 80

6.3.7 break语句 80

6.3.8 continue语句 81

6.4 小结 82

第7章 函数 83

7.1 函数概述 83

7.2 函数定义的一般形式 84

7.2.1 无参函数的定义形式 84

7.2.2 有参函数的定义形式 85

7.3 函数的参数和函数的返回值 86

7.3.1 形式参数和实际参数 86

7.3.2 函数的返回值 87

7.4 函数的调用 88

7.4.1 函数调用的一般形式 88

7.4.2 函数调用的方式 89

7.5 函数的嵌套调用 89

7.6 函数的递归调用 90

7.7 数组作为函数参数 91

7.7.1 数组元素作为函数实参 92

7.7.2 数组名作为函数参数 92

7.8 小结 93

第8章 面向对象基础 94

8.1 类和对象 94

8.1.1 类的定义形式 94

8.1.2 类的成员类型 95

8.1.3 调用类中的成员 96

8.2 构造函数和析构函数 97

8.2.1 构造函数 97

8.2.2 析构函数 99

8.3 继承与派生 100

8.3.1 派生类定义的一般形式 101

8.3.2 派生类的保护成员 101

8.3.3 派生类的构造函数 102

8.4 接口 103

8.4.1 创建接口 103

8.4.2 使用类实现接口 104

8.5 小结 105

第9章 数字处理 106

9.1 数字的不同表现形式 106

9.2 不同数字类型之间的转换 107

9.2.1 输出其他进制函数toString 107

9.2.2 十进制转化函数parseInt 108

9.3 四舍五入 108

9.3.1 四舍五入函数round 109

9.3.2 其他舍入函数 109

9.4 格式化输出 110

9.5 格式化货币数字 111

9.6 生成随机数 112

9.6.1 Math类中生成随机实型函数random 112

9.6.2 NumberUtilities类中生成随机数函数random 112

9.7 小结 113

第10章 日期与时间 114

10.1 获取系统当前日期 114

10.2 获取日期中的特定值 114

10.3 自定义星期名和月份名 115

10.4 格式化输出日期 116

10.5 使用计时器 118

10.6 计算日期特定值的间隔 119

10.7 从字符串中获取日期 120

10.8 小结 121

第11章 字符串 122

11.1 连接字符串 122

11.1.1 “+”操作符连接字符串 123

11.1.2 “+=”操作符连接字符串 123

11.2 字符串中使用引号 124

11.3 插入空白字符 124

11.4 搜索匹配字符串 125

11.4.1 顺序搜索字符串函数indexOf 125

11.4.2 逆序搜索字符串函数lastIndexOf 126

11.5 取字符串的子串 126

11.5.1 substr方法 127

11.5.2 substring方法 127

11.5.3 slice方法 128

11.6 字符串转为数组 128

11.7 替换字符串 129

11.7.1 替换字符串函数replace 129

11.7.2 其他替换字符串方法 130

11.8 对字符串中的单字符操作 131

11.9 大小写转换 131

11.10 过滤空白字符 132

11.11 反转字符串 133

11.12 存取ASCII码 134

11.12.1 以ASCII码构造字符串函数ffomCharCode 134

11.12.2 读取单字符的ASCII码函数charCodeAt 135

11.13 小结 135

第12章 数组 136

12.1 数组简介 136

12.1.1 数组的分类 136

12.1.2 创建数组的方法 137

12.2 在数组首部和尾部添加元素 138

12.2.1 数组尾部添加新元素函数push 138

12.2.2 使用“[]”操作符在尾部添加新元素 138

12.2.3 数组首部添加新元素函数unshift 139

12.3 遍历数组元素 139

12.4 搜索匹配的数组元素 139

12.4.1 findMatchIndex方法 140

12.4.2 findLastMatchIndex方法和findMatchIndices方法 141

12.5 删除数组元素 141

12.5.1 删除任意数组元素函数splice 141

12.5.2 删除数组首部元素函数shift 142

12.5.3 删除数组尾部元素函数pop 142

12.5.4 删除特定值的数组元素 143

12.6 在数组中插入元素 144

12.7 转换字符串为数组 145

12.8 转换数组为字符串 145

12.9 复制数组 146

12.9.1 concat方法 146

12.9.2 slice方法 147

12.9.3 ArrayUtilities类的duplicate方法 147

12.10 存储多维数据 148

12.11 数组排序 150

12.11.1 sort方法 150

12.11.2 sortOn方法 152

12.12 实现自定义排序 154

12.13 数组元素的最大值和最小值 155

12.14 比较数组 156

12.15 联合数组 157

12.15.1 创建联合数组 157

12.15.2 访问联合数组元素 158

12.15.3 遍历联合数组 159

12.16 小结 159

第13章 使用XML 160

13.1 XML概述 160

13.2 创建XML对象 161

13.2.1 使用XML标签创建XML对象 161

13.2.2 使用字符串创建XML对象 162

13.3 XML对象中添加元素 162

13.3.1 将元素名作为属性添加元素 163

13.3.2 使用“[]”操作符添加元素 163

13.3.3 其他添加元素的方法 164

13.4 XML对象中添加元素内容 164

13.4.1 将元素名作为属性添加元素内容 165

13.4.2 使用XML类中的方法添加元素内容 165

13.5 XML元素中添加属性 166

13.5.1 使用“@”操作符添加属性 166

13.5.2 使用“[]”操作符添加属性 167

13.6 从XML中读取元素 167

13.7 定位元素 168

13.8 读取元素内容 169

13.9 读取属性值 170

13.9.1 使用“@”操作符读取属性值 170

13.9.2 使用attribute方法读取属性值 171

13.9.3 使用attributes方法读取全部属性值 171

13.10 删除元素和属性 172

13.11 加载XML文件 173

13.12 小结 174

第三篇 组件篇 176

第14章 使用组件构建Flex界面 176

14.1 Flex组件概述 176

14.2 Flex可见组件 177

14.2.1 可见组件的分类 177

14.2.2 使用可见组件构建界面 177

14.3 使用Flex非可见组件 178

14.4 Flex常用组件 179

14.4.1 按钮组件Button 180

14.4.2 下拉框组件ComboBox 181

14.4.3 图像组件Image 182

14.4.4 标签组件Label 182

14.4.5 多行文本组件TextArea 183

14.4.6 输入框组件TextInput 183

14.4.7 文本编辑组件RichTextEditor 184

14.5 小结 184

第15章 Flex 3.0界面设计实战 185

15.1 登录框实例 185

15.1.1 制作登录框界面 185

15.1.2 使用按钮处理事件 188

15.1.3 制作校验码 189

15.1.4 验证合法用户 191

15.1.5 合法用户进入主程序 192

15.2 菜单导航实例 194

15.2.1 制作菜单 194

15.2.2 设计状态 195

15.2.3 菜单导航 197

15.2.4 制作状态切换时的过渡效果 199

15.3 柱状图实例 201

15.3.1 设计数据集 201

15.3.2 设计柱状图界面及数据绑定 202

15.4 文件目录浏览器实例 204

15.4.1 外观界面设计 205

15.4.2 文件系统组件的路径 207

15.4.3 制作“后退”效果 208

15.5 AIR程序集成网页实例 209

15.5.1 HTML组件集成网页 209

15.5.2 使用JavaScriptObject类型调用DOM 211

15.5.3 JavaScript与ActionScript 3.0的交互 212

15.6 文本编辑器实例 216

15.6.1 设计文本编辑器界面 217

15.6.2 选择文件 218

15.6.3 读取文件 219

15.6.4 写文件 220

15.7 组件数据拖曳实例 222

15.8 小结 223

第16章 自定义效果美化界面 224

16.1 自定义事件效果 224

16.2 Flex 3.0的效果组件 225

16.2.1 模糊效果组件〈mx:Blur〉 226

16.2.2 溶解效果组件〈mx:Dissolve〉 226

16.2.3 渐显效果组件〈mx:Fade〉 228

16.2.4 发光效果组件〈mx:Glow〉 229

16.2.5 移动效果组件〈mx:Move〉 230

16.2.6 改变大小组件〈mx:Resize〉 231

16.2.7 旋转效果组件〈mx:Rotate〉 232

16.2.8 声音效果组件〈mx:SoundEffect〉 233

16.2.9 显示顺序组件〈mx:WipeDown〉 235

16.2.10 缩放效果组件〈mx:Zoom〉 235

16.2.11 组合效果组件〈mx:Parallel〉 237

16.3 自定义组件界面 238

16.3.1 使用组件属性改变界面 238

16.3.2 使用setStyle方法改变界面 239

16.4 使用Filter滤镜类 240

16.5 小结 241

第17章 CSS美化界面 242

17.1 CSS简介 242

17.2 样式名 243

17.2.1 默认样式名 243

17.2.2 自定义样式名 243

17.2.3 分组样式名 244

17.3 属性 245

17.3.1 字体(Font) 245

17.3.2 文本(Text) 246

17.3.3 背景(Background) 249

17.3.4 定位(Positioning) 250

17.3.5 尺寸(Dimensions) 251

17.3.6 布局(Layout) 252

17.3.7 外补丁(Margins) 253

17.3.8 边框(Borders) 254

17.3.9 内补丁(Paddings) 256

17.3.10 列表(Lists) 257

17.3.11 表格(Table) 258

17.3.12 滚动条(Scrollbar) 258

17.3.13 打印(Printing) 259

17.3.14 声音(Aural) 260

17.4 单位 262

17.4.1 长度(Length) 262

17.4.2 颜色(Color) 263

17.4.3 角度(Angle) 264

17.4.4 时间(Time)和频率(Frequency) 264

17.5 规则 264

17.5.1 导入外部样式表@import 264

17.5.2 指定字符集@charset 265

17.5.3 导入外部字体@font-face 265

17.5.4 指定设备@media 265

17.6 静态滤镜 266

17.6.1 色彩层滤镜(Gradient) 266

17.6.2 边界图片滤镜(AlphaImageLoader) 267

17.6.3 透明度滤镜(Alpha) 268

17.6.4 图片处理滤镜(BasicImage) 269

17.6.5 模糊滤镜(Blur) 270

17.6.6 阴影滤镜(DropShadow) 271

17.6.7 浮雕滤镜(Emboss) 272

17.6.8 发光滤镜(Glow) 273

17.6.9 矩阵遮罩(Matrix) 274

17.6.10 运动模糊滤镜(MotionBlur) 276

17.6.11 波纹滤镜(Wave) 277

17.6.12 X光滤镜(Xray) 278

17.6.13 反相滤镜(Invert) 278

17.7 转换滤镜 279

17.7.1 百叶窗效果滤镜(Blinds) 279

17.7.2 国际象棋棋盘效果滤镜(CheckerBoard) 280

17.7.3 渐隐效果滤镜(Fade) 281

17.7.4 滚动渐隐效果滤镜(GradientWipe) 282

17.7.5 对角扩张效果滤镜(Insert) 283

17.7.6 放射状擦除效果滤镜(RadialWipe) 284

17.7.7 随机线条效果滤镜(RandomBars) 285

17.7.8 随机像素溶解效果滤镜(RandomDissolve) 286

17.7.9 拉伸(缩)变形效果滤镜(Stretch) 287

17.7.10 风车叶轮旋转效果滤镜(Wheel) 288

17.7.11 擦地板的效果滤镜(Zigzag) 288

17.8 使用〈mx:Style〉组件定义CSS 289

17.8.1 〈mx:Style〉组件内部定义CSS 290

17.8.2 〈mx:Style〉组件调用外部CSS 290

17.8.3 两种CSS定义方式的比较 291

17.9 Flex2StyleExplorer工具辅助设计CSS样式 291

17.10 Flex组件应用CSS样式 294

17.11 运行时动态加载CSS样式 295

17.11.1 调用SWF样式文件 297

17.11.2 撤销SWF样式文件 297

17.11.3 按钮控制应用样式 298

17.11.4 完成剩余代码 298

17.12 小结 301

第18章 Flex美化应用 302

18.1 自定义字体 302

18.1.1 自定义字体概述 302

18.1.2 使用Flex支持的系统字体 303

18.1.3 使用Flex不支持的系统字体 304

18.2 自定义提示文本 305

18.3 自定义光标 307

18.4 自定义AIR程序窗口外观 309

18.5 苹果风格界面实例 314

18.5.1 组件设计 314

18.5.2 CSS美化组件界面 319

18.5.3 ApplicationControlBar组件样式 320

18.5.4 Application组件样式 320

18.5.5 MenuBar组件样式 321

18.5.6 Panel组件样式 321

18.5.7 自定义“panelTitle”样式 322

18.5.8 TextInput组件样式 323

18.5.9 Button组件样式 323

18.5.10 自定义“blueButton”样式 324

18.5.11 Accordion组件样式 324

18.5.12 NumericStepper组件样式 325

18.5.13 CheckBox组件样式 325

18.5.14 RadioButton组件样式 326

18.5.15 ComboBox组件样式 327

18.5.16 TabNavigator组件样式 327

18.5.17 自定义“selectedTab”样式 328

18.5.18 Tab组件样式 329

18.5.19 List组件样式 329

18.5.20 DataGrid组件样式 330

18.5.21 DateChooser组件样式 331

18.6 Vista风格界面实例 332

18.6.1 组件设计 332

18.6.2 CSS美化组件界面 336

18.6.3 全局样式global 337

18.6.4 AccordionHeader组件样式 337

18.6.5 Application组件样式 339

18.6.6 Button组件样式 339

18.6.7 ButtonBar组件样式 341

18.6.8 ColorPicker组件样式 346

18.6.9 ComboBox组件样式 347

18.6.10 DataGrid组件样式 348

18.6.11 DateChooser组件样式 349

18.6.12 ProgressBar组件样式 350

18.6.13 Image组件样式 350

18.6.14 MenuBar组件样式 351

18.6.15 RadioButton组件样式 351

18.6.16 CheckBox组件样式 352

18.6.17 HSlider组件样式 352

18.6.18 TitleWindow组件样式 353

18.6.19 调用自定义窗体 354

18.6.20 调用“style.css”文件 354

18.7 小结 354

第四篇 数据篇 356

第19章 Flex中的数据处理 356

19.1 数据绑定 356

19.1.1 简单绑定方式 356

19.1.2 使用〈mx:Binding〉组件绑定数据 357

19.2 复杂数据的存储 359

19.2.1 使用〈mx:Model〉组件存储数据 359

19.2.2 使用〈mx:Object〉组件存储数据 361

19.2.3 使用〈mx:XML〉组件存储数据 362

19.3 数据验证 363

19.3.1 数据验证组件概述 363

19.3.2 如何使用数据验证组件 364

19.3.3 验证触发方式 365

19.3.4 验证失败处理 368

19.3.5 自定义验证组件 369

19.3.6 数据验证应用实例 372

19.4 数据格式化 377

19.4.1 格式化组件概述 378

19.4.2 货币格式化组件〈mx:CurrencyFormatter〉 378

19.4.3 日期格式化组件〈mx:DateFormatter〉 379

19.4.4 数字格式化组件〈mx:NumberFormatter〉 381

19.4.5 电话格式化组件〈mx:PhoneFormatter〉 382

19.4.6 邮编格式化组件〈mx:ZipCodeFormatter〉 383

19.5 小结 383

第20章 使用正则表达式匹配字符串 384

20.1 正则表达式概述 384

20.2 正则表达式的语法 384

20.2.1 元字符 385

20.2.2 转义字符 385

20.2.3 限定符 385

20.2.4 字符集合 386

20.2.5 反义 386

20.2.6 多规则 387

20.2.7 子表达式 388

20.3 使用Regex Tester工具测试正则表达式 388

20.4 Flex 3.0中使用正则表达式 389

20.4.1 使用RegExp类定义正则表达式 389

20.4.2 使用RegExp类匹配数据 390

20.4.3 Flex中使用正则表达式实例 391

20.5 小结 395

第21章 数据传输与交互 396

21.1 数据传输的方式 396

21.1.1 内部数据传输 396

21.1.2 文件流方式传输 399

21.1.3 XML方式传输 401

21.1.4 其他方式传输 403

21.2 使用〈mx:HTTPService〉组件与HTTP程序交互 403

21.3 〈mx:HTTPService〉组件实例 404

21.3.1 编写ASP.NET程序 405

21.3.2 创建虚拟目录 407

21.3.3 编写Flex程序 409

21.4 使用〈mx:WebService〉组件与WebService程序交互 411

21.4.1 WebService概述 412

21.4.2 如何使用〈mx:WebService〉组件 412

21.5 〈mx:WebService〉组件实例 414

21.5.1 创建数据库 414

21.5.2 编写WebService 416

21.5.3 编写Flex程序 419

21.6 使用Fluorine网关与ASP.NET类交互 421

21.6.1 Fluorine简介 421

21.6.2 Fluorine的下载与安装 422

21.6.3 第三方组件RemoteObjectAMF0的使用方法 423

21.6.4 Fluorine实例 425

21.7 小结 432

第五篇 扩展篇 434

第22章 Cairngorm开发框架 434

22.1 Cairngorm简介 434

22.2 Flex 3.0中如何添加Cairngorm框架 435

22.3 Cairngorm框架中的基础类 436

22.3.1 类的文件组织结构 436

22.3.2 处理正常或异常结果的Responder类 437

22.3.3 查找服务的ServiceLocator类 437

22.3.4 处理事件的Command类 438

22.3.5 创建新事件的CairngormEvent类 438

22.3.6 管理事件的CairngormEventDispatcher类 439

22.3.7 监听事件的FrontController类 441

22.3.8 存储数据模型的ModelLocator类 442

22.3.9 辅助操作视图的ViewHelper类 442

22.3.10 查找视图的ViewLocator类 444

22.3.11 定义数据模型的ValueObject类 446

22.4 Cairngorm框架的运行原理 446

22.4.1 自定义事件(Cairngorm Event类) 446

22.4.2 自定义命令(Command类) 447

22.4.3 前台控制器(FrontController类)监听事件 448

22.4.4 在服务定位器(ServiceLocator类)中寻找服务 449

22.4.5 在模型定位器(ModelLocator类)中存取数据 450

22.4.6 使用ViewHelper类修改视图 451

22.4.7 使用ValueObject类自定义数据模型 452

22.5 Cairngorm实例 452

22.6 小结 466

第23章 Flex 3.0新特性的应用 467

23.1 加载PDF文件 467

23.1.1 加载PDF文件前的准备 467

23.1.2 使用HTMLControl类加载PDF文件 467

23.1.3 使用HTMLPDFCapability类检测Adobe Reader版本 468

23.1.4 加载PDF文件实例 468

23.2 使用本地SQL数据库 470

23.2.1 使用Select语句读取数据 470

23.2.2 使用Insert语句添加数据 471

23.2.3 使用Update语句修改数据 471

23.2.4 使用Delete语句删除数据 472

23.2.5 使用SQLConnection类连接数据库 472

23.2.6 使用SQLStatement类执行SQL语句 473

23.3 升级AIR应用程序 480

23.3.1 升级前的准备 481

23.3.2 检查版本信息 481

23.3.3 使用FileStream类下载最新版本 482

23.3.4 使用Updater类升级AIR应用程序 483

23.3.5 升级AIR应用程序实例 483

23.4 Flex 3.0中使用Ajax技术 487

23.4.1 Ajax技术简介 488

23.4.2 使用〈mx:HTML〉组件调用Ajax技术 488

23.4.3 Flex应用程序结合Ajax技术实例 489

23.5 使用Flex-Ajax Bridge技术控制Flex应用程序 496

23.5.1 Flex-Ajax Bridge技术简介 497

23.5.2 Flex-Ajax Bridge技术的运行原理 497

23.5.3 使用getCompenentID方法获取组件 500

23.5.4 使用getPropertyName方法获取属性值 501

23.5.5 使用setPropertyName方法设置属性值 501

23.5.6 为组件添加监听事件 502

23.5.7 调用Flex程序中的函数 502

23.5.8 Flex-Ajax Bridge技术控制Flex程序实例 503

23.6 小结 506

第六篇 实例篇 508

第24章 FLV播放器 508

24.1 前期准备 508

24.1.1 组织文件结构 508

24.1.2 导入Cairngorm框架 508

24.2 使用FlvModel类存储数据、状态及资源 509

24.3 使用FlvControl类监听事件 510

24.4 创建OpenVideoEvent事件 511

24.5 创建OpenVideoCommand命令 512

24.6 使用Utils类格式化时间 513

24.7 使用FlvPlayViewHelper类修改MXML组件 514

24.8 编写“FlvPlay.mxml”主程序 516

24.8.1 设计外观模型 516

24.8.2 实现菜单功能 518

24.8.3 VideoDisplay组件说明 519

24.8.4 实现“播放/暂停”功能 521

24.8.5 实现“停止”功能 522

24.8.6 实现“静音”功能 522

24.8.7 实现“全屏/退出全屏”功能 522

24.8.8 拖曳滑动条改变播放进度 523

24.8.9 实现键盘快捷键功能 524

24.8.10 完成“FlvPlay.mxml”主程序的剩余代码 525

24.9 小结 533

第25章 经典实例CairngormStore的分析 534

25.1 CairngormStore实例简介 534

25.2 如何运行CairngormStore实例 535

25.2.1 架设Java运行平台 535

25.2.2 架设AMF网关LiveCycle Data Services 539

25.2.3 编译运行前的准备 544

25.2.4 编译CairngormStore实例 545

25.3 CairngormStore实例的代码分析 547

25.3.1 使用ProductVO类建立商品数据模型 547

25.3.2 使用ShoppingCartElement类建立购物条目数据模型 549

25.3.3 使用ShoppingCart类建立购物车数据模型 550

25.3.4 使用ShopModelLocator类建立应用程序数据模型 552

25.3.5 使用ShopController类监听事件 555

25.3.6 在ServiceLocator类中定义服务 557

25.3.7 创建自定义事件 559

25.3.8 创建自定义命令 560

25.3.9 视图外观分析 563

25.4 如何添加和调用新服务 567

25.5 小结 568

第26章 视频分享网站 569

26.1 系统概述 569

26.1.1 系统架构 569

26.1.2 系统功能模块设计 569

26.2 系统设计 570

26.2.1 系统工作流程 571

26.2.2 功能模块的工作流程 571

26.3 数据库设计 574

26.3.1 数据库总体设计 574

26.3.2 数据表设计 574

26.3.3 使用查询分析器创建数据库和数据表 576

26.4 配置开发环境 578

26.4.1 安装和升级SQL Server 2000数据库 578

26.4.2 安装和配置JDBC 584

26.4.3 安装和配置Java开发平台eclipse 585

26.4.4 其他注意事项 586

26.5 服务器端代码分析 587

26.5.1 服务器端代码概述 587

26.5.2 UserCompl类 588

26.5.3 VideoCompl类 591

26.5.4 CommentCompl类 597

26.5.5 其他类 600

26.6 接口设计代码分析 601

26.6.1 接口概述 602

26.6.2 remoting-config.xml分析 602

26.6.3 Services.mxml分析 603

26.7 应用程序的总体框架 604

26.8 主页显示模块 606

26.9 用户登录模块 609

26.10 播放视频模块 611

26.11 上传视频模块 613

26.12 用户管理模块 617

26.13 超级管理员管理模块 621

26.14 评论模块 623

26.15 外观样式分析 623

26.16 小结 626

附录A 627