《Flex3实战》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)艾哈迈德,赫希,阿比德著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302218920
  • 页数:501 页
图书介绍:本书首先简要介绍Flex 3和ActionScript,然后从实战角度讲解Flex的每个重要组件。本书的实例编排合理,注解清晰。另外,本书还浓墨重彩地介绍了Flex中的事件,给出了调试事件逻辑的多种技术。

第Ⅰ部分 应用程序基础知识第1章 认识Flex 3

1.1 Web应用程序为何大行其道 3

1.2 为快速发展付出的代价 4

1.3 RIA解决方案 5

1.3.1 他们什么都想要 5

1.3.2 RIA的解决之道 6

1.3.3 RIA的工作原理 6

1.4 RIA的竞争技术 6

1.4.1 Adobe公司的Flex 7

1.4.2 微软公司的Silverlight 7

1.4.3 Sun公司的JavaFX 8

1.5 Flex与Web应用程序 8

1.5.1 Web应用程序基于文档 9

1.5.2 浏览器的角色:中转站和文档渲染器 9

1.5.3 RWA——终点站 10

1.5.4 跨平台问题 11

1.5.5 何来丰富性 11

1.5.6 AJAX的通信限制 12

1.5.7 并行不悖 13

1.6 熟悉Flex 13

1.6.1 利用Adobe Flash的优势 13

1.6.2 Flex与JavaScript可以一起使用 14

1.6.3 Flex技术体系 15

1.6.4 Flex的工作原理 17

1.6.5 事件驱动的环境 19

1.7 Flex 3的新功能 19

1.8 小结 20

第2章 从零开始 21

2.1 经济的Flex开发方式 21

2.1.1 建立编译环境 22

2.1.2 建立编辑环境 23

2.1.3 第三步(但愿读者还感兴趣) 24

2.2 使用Flex Builder做真正的开发 25

2.2.1 产品和价格表 25

2.2.2 获得Flex Builder 26

2.3 探索Flex Builder 26

2.4 视图与视角 28

2.4.1 预定义的视角 28

2.4.2 切换视角 29

2.4.3 自定义视角 29

2.5 第一个项目——HelloWorld 31

2.5.1 创建项目 31

2.5.2 输入代码 33

2.5.3 编译和运行 33

2.5.4 查看实际效果 34

2.6 使用设计模式 34

2.7 内置的帮助 36

2.7.1 面向对象语言及其API 36

2.7.2 访问API参考 36

2.7.3 研读API参考 37

2.8 MXML与ActionScript速写 38

2.8.1 MXML的结构 38

2.8.2 MXML与ActionScript的关系 39

2.8.3 事件由ActionScript处理 40

2.9 小结 42

第3章 使用ActionScript 43

3.1 注释 43

3.1.1 行内注释 44

3.1.2 多行注释 44

3.2 变量 44

3.2.1 变量名 44

3.2.2 严格数据类型 44

3.2.3 静态类型检查与动态类型检查 45

3.2.4 基本数据类型和复杂数据类型 45

3.3 循环 48

3.3.1 for(初始值;条件;递增) 48

3.3.2 for(属性名in数组/对象) 48

3.3.3 foreach(项in数组/对象) 49

3.3.4 while(条件) 49

3.3.5 do while(条件) 50

3.4 条件语句(if和switch) 50

3.4.1 if...else 50

3.4.2 switch 52

3.5 数组 53

3.5.1 索引数组 53

3.5.2 关联数组 55

3.6 ActionScript特色语法 57

3.6.1 花括号 57

3.6.2 逻辑操作符及快捷方式 58

3.7 函数、类和包简介 59

3.7.1 创建函数 60

3.7.2 将ActionScript代码保存在单独的文件中 63

3.8 简单的数据绑定 64

3.8.1 再论事件 65

3.8.2 双向绑定 65

3.9 小结 66

第4章 布局和容器 67

4.1 绝对布局 67

4.2 基于约束的布局 70

4.2.1 基本约束 70

4.2.2 增强的约束 72

4.3 自动布局 77

4.4 可变大小和固定大小 78

4.4.1 可变大小 79

4.4.2 固定大小 79

4.5 容器 79

4.5.1 Application容器 80

4.5.2 Canvas容器 81

4.5.3 Box、HBox和VBox容器 82

4.5.4 Panel容器 83

4.5.5 ApplicationControlBar和ControlBar容器 83

4.5.6 DividedBox、HDividedBox和VDividedBox容器 84

4.5.7 Form容器 85

4.5.8 Grid容器 86

4.5.9 Tile容器 87

4.6 使用Repeater组件实现动态布局 88

4.6.1 dataProvider简介 88

4.6.2 Repeater的属性和事件 89

4.6.3 创建Repeater 90

4.6.4 使用Repeater事件 91

4.7 小结 92

第5章 显示表单与捕获用户输入 95

5.1 id属性 96

5.2 Text控件 96

5.3 Date控件 98

5.4 Numeric控件 99

5.5 Button组件 101

5.5.1 带Bar的Button控件 102

5.5.2 PopUpButton和PopUpMenuButton 103

5.6 选单控件 105

5.7 访问控件的值 107

5.7.1 向函数传递值 107

5.7.2 向函数传递事件 108

5.7.3 直接访问属性 109

5.7.4 应该选择哪种方式 110

5.8 小结 111

第6章 验证用户输入 113

6.1 验证简介 113

6.2 内置验证器 114

6.2.1 Validator 115

6.2.2 StringValidator 116

6.2.3 NumberValidator 117

6.2.4 DateValidator 119

6.2.5 EmailValidator 122

6.2.6 CreditCardValidator 123

6.2.7 CurrencyValidator 125

6.2.8 PhoneNumberValidator 127

6.2.9 RegExpValidator 128

6.2.10 SocialSecurityValidator 130

6.2.11 ZipCodeValidator 131

6.3 实时验证 132

6.4 提交值验证 132

6.5 通过性验证 133

6.6 脚本式验证 133

6.7 验证技巧 134

6.7.1 验证器是否总是检查所有条件 135

6.7.2 验证输入的值与条件匹配 135

6.7.3 控制由什么来触发验证操作 135

6.8 小结 135

第7章 格式化数据 137

7.1 内置格式化程序 138

7.1.1 Formatter 138

7.1.2 NumberFormatter 138

7.1.3 CurrencyFormatter 140

7.1.4 DateFormatter 141

7.1.5 PhoneFormatter 144

7.1.6 ZipCodeFormatter 146

7.1.7 SwitchSymbolFormatter 147

7.2 实时格式化 148

7.3 脚本式格式化 148

7.3.1 结合使用函数与格式化程序组件 148

7.3.2 结合使用函数与格式化程序类 149

7.4 处理格式化错误 151

7.5 小结 151

第8章 DataGrid、列表和树 153

8.1 基于列表的系列组件 153

8.1.1 ListBase和AdvancedListBase的属性 154

8.1.2 ListBase事件 155

8.2 dataProvider与集合 155

8.2.1 填充dataProvider 156

8.2.2 集合的类型 156

8.2.3 集合的使用者 156

8.3 集合的初始化 157

8.4 集合的填充 158

8.4.1 List 158

8.4.2 HorizontalList 160

8.4.3 TileList 161

8.4.4 DataGrid 163

8.4.5 Tree 166

8.4.6 AdvancedDataGrid 169

8.5 与列表交互 175

8.5.1 列表事件 175

8.5.2 向函数传递事件 176

8.5.3 向函数传递数据 177

8.5.4 直接访问被选定的行 178

8.5.5 绑定到被选定的行 178

8.5.6 用其他事件作为触发器 179

8.6 小结 179

第9章 自定义列表 181

9.1 标签函数 181

9.1.1 标签函数的类型 181

9.1.2 使用单列标签函数 182

9.1.3 使用多列标签函数 183

9.1.4 标签函数的用途 184

9.2 项渲染器 185

9.2.1 渲染器类型 185

9.2.2 创建(常规)项渲染器 185

9.2.3 向项渲染器中添加逻辑 186

9.2.4 创建行内项渲染器 189

9.2.5 使用混入项渲染器 189

9.3 项编辑器 191

9.3.1 启用项编辑功能 191

9.3.2 创建项编辑器 192

9.3.3 项编辑事件 194

9.4 组合项渲染器和项编辑器 199

9.5 高级项渲染器 200

9.5.1 AdvancedDataGridRendererProvider 200

9.5.2 引用列 201

9.5.3 跨列使用 202

9.5.4 实现通行显示 203

9.6 筛选函数 204

9.7 小结 206

第Ⅱ部分 应用程序流与结构第10章 事件 209

10.1 事件系统 209

10.1.1 事件系统——类似于邮政服务 210

10.1.2 事件发送系统 210

10.1.3 设置事件传播的阶段 211

10.2 发送和接收事件 212

10.2.1 添加事件侦听器 213

10.2.2 绑定事件 214

10.2.3 移除事件侦听器 216

10.3 自定义事件 218

10.3.1 使用分派程序发送事件 218

10.3.2 创建自定义事件 220

10.3.3 停止事件传播 222

10.3.4 向组件添加事件元数据 223

10.4 小结 224

第11章 应用程序导航 225

11.1 为菜单和菜单栏提供数据 225

11.1.1 嵌套的数组 226

11.1.2 嵌套的数组集合 226

11.1.3 Model 227

11.1.4 XML组件及类 228

11.1.5 XMLList组件 229

11.1.6 XMLListCollection组件及类 229

11.1.7 选定数据提供者数据类型 230

11.2 使用菜单 231

11.2.1 创建菜单 231

11.2.2 定位菜单 233

11.2.3 自定义菜单项 233

11.3 使用菜单栏 237

11.3.1 创建菜单栏 238

11.3.2 定位菜单栏 238

11.3.3 自定义菜单栏中的项 239

11.3.4 处理用户与菜单栏的交互 240

11.4 使用ViewStack 241

11.4.1 创建ViewStack 241

11.4.2 为ViewStack添加导航功能 243

11.4.3 确定当前选定的栈 244

11.4.4 处理用户与ViewStack的交互 245

11.5 TabNavigator 247

11.5.1 创建TabNavigator 247

11.5.2 处理用户与TabNavigator的交互 248

11.6 Accordion 250

11.6.1 创建Accordion 250

11.6.2 填充Accordion 250

11.6.3 处理用户与Accordion的交互 252

11.7 小结 252

第12章 弹出式窗口简介 253

12.1 创建首个弹出式窗口 253

12.1.1 首先创建标题窗口 253

12.1.2 使用PopUpManager打开窗口 254

12.1.3 关闭弹出式窗口 255

12.2 控制窗口位置 255

12.2.1 使用centerPopUP()方法 256

12.2.2 计算窗口的位置 256

12.3 设置窗口的透明度 258

12.4 弹出式窗口与数据的结合 259

12.4.1 从弹出式窗口中取得数据 261

12.4.2 发送事件 262

12.4.3 取出数据 262

12.4.4 向窗口中发送数据 263

12.5 使用警告窗口 264

12.5.1 创建简单的警告窗口 264

12.5.2 挖掘警告窗口的潜力 265

12.5.3 高级警告窗口 265

12.5.4 修饰警告窗口 266

12.6 小结 268

第13章 视图状态 269

13.1 理解视图状态 269

13.2 Flex中的视图状态 270

13.2.1 视图状态类 271

13.2.2 视图状态实例 272

13.2.3 定义视图状态(〈mx:State/〉) 274

13.2.4 视图状态过渡 277

13.2.5 组件的状态 278

13.3 小结 280

第14章 使用数据服务 281

14.1 什么是WSDL文档 281

14.2 理解WSDL文档 282

14.2.1 理解WSDL文档:操作 282

14.2.2 理解WSDL文档:输入类型 283

14.2.3 理解WSDL文档:输出 283

14.3 使用WebService组件 285

14.3.1 用ActionScript创建WebService组件 286

14.3.2 调用WebService组件 286

14.3.3 处理结果 287

14.3.4 ResultEvent 287

14.3.5 处理结果 288

14.3.6 FaultEvent 289

14.3.7 使用异步记号 290

14.4 使用HTTPService检索结果 290

14.4.1 连接HTTP Web服务 291

14.4.2 显式参数绑定 292

14.5 使用RemoteObject标签 293

14.6 使用URLLoader 295

14.7 使用Flex Import Web Service向导 296

14.7.1 Import Web Service向导 296

14.7.2 使用生成的Web服务代码 297

14.8 小结 299

第15章 使用XML 301

15.1 XML基础知识 301

15.1.1 什么是XML 301

15.1.2 XML的优点 302

15.1.3 XML的缺点 302

15.1.4 XML语法及规则 302

15.1.5 DTD与XML Schema 305

15.1.6 名称空间 307

15.2 XML组件和类 307

15.2.1 XML组件 307

15.2.2 XML类 308

15.2.3 XMLList组件 312

15.2.4 XMLList类 313

15.2.5 XMLListCollection组件和类 313

15.3 加载外部XML源数据 314

15.4 XML中的绑定 315

15.4.1 绑定自XML 315

15.4.2 绑定到XML 316

15.5 ECMAScript for XML(E4X) 317

15.5.1 E4X语法 317

15.5.2 使用XML结构 318

15.6 小结 322

第16章 对象和类 325

16.1 用五分钟的时间理解OO理论 325

16.1.1 对象和类的关系 325

16.1.2 对象拥有属性和方法 326

16.1.3 继承 327

16.1.4 封装和耦合 328

16.1.5 对象:无处不在 328

16.2 操作对象 329

16.2.1 进一步了解对象 329

16.2.2 对象的方法 330

16.2.3 方法的参数 330

16.2.4 方法返回信息 331

16.2.5 对象的属性 331

16.3 创建类 331

16.3.1 创建类文件 331

16.3.2 指定包 332

16.3.3 命名类 332

16.3.4 类修饰符 332

16.3.5 超类:扩展类 333

16.3.6 接口 333

16.3.7 分析类 334

16.4 添加属性 334

16.5 添加getter/setter方法 335

16.6 创建类的方法 337

16.7 小结 339

第17章 自定义组件 341

17.1 什么是自定义组件 342

17.2 自定义组件的工作原理 343

17.2.1 简单组件与复合组件 343

17.2.2 实现方式 344

17.3 简单自定义组件 344

17.4 传递参数 345

17.4.1 通过函数传递值 345

17.4.2 通过属性传递值 346

17.4.3 使用setter函数作为属性代理 348

17.4.4 使用绑定参数 349

17.5 检索值 350

17.5.1 通过函数检索值 350

17.5.2 通过属性检索值 351

17.5.3 使用getter函数作为属性代理 354

17.6 创建复合组件 356

17.7 创建ActionScript组件 357

17.8 自定义事件 359

17.9 名称空间和结构 361

17.9.1 mx名称空间 361

17.9.2 local名称空间 361

17.9.3 目录结构与名称空间 361

17.9.4 ActionScript中的名称空间 362

17.10 小结 363

第18章 Flex中的高级可重用性 365

18.1 SWC文件 365

18.2 运行时共享库 366

18.2.1 标准RSL 366

18.2.2 在Flex应用程序中使用RSL 367

18.3 开发模块化的Flex应用程序 369

18.3.1 组件与模块 370

18.3.2 创建简单的模块 370

18.3.3 通过模块API以MXML方式加载模块 370

18.3.4 通过ActionScript加载和卸载模块 371

18.3.5 模块的利弊 372

18.4 在Flex应用程序的生命周期中添加补丁 373

18.5 重构 374

18.6 小结 375

第Ⅲ部分 高级应用 379

第19章 自定义体验 379

19.1 样式 379

19.1.1 行内样式 380

19.1.2 本地样式定义 381

19.1.3 外部样式表 385

19.1.4 样式浏览器 386

19.1.5 处理颜色 386

19.1.6 透明度 388

19.1.7 使用渐变 389

19.1.8 以编程方式操作样式 389

19.2 嵌入字体 391

19.2.1 通过字体的系统名嵌入 392

19.2.2 通过字体文件嵌入 392

19.2.3 使用CSS 393

19.3 图像和图标 393

19.3.1 图像类型 393

19.3.2 嵌入还是不嵌入 393

19.3.3 作为变量的图像 394

19.3.4 图标 395

19.4 皮肤 397

19.4.1 皮肤的类型 397

19.4.2 使用图像的图形皮肤 397

19.4.3 使用SWF的图形皮肤 399

19.4.4 Flex皮肤设计扩展(SDE) 400

19.4.5 图像切割 400

19.4.6 编程式皮肤 402

19.5 小结 402

第20章 使用效果 403

20.1 效果的含义 403

20.1.1 创建效果的方式 403

20.1.2 Flex内置的效果 404

20.1.3 合成效果 404

20.2 触发效果 404

20.3 以编程方式应用效果 406

20.3.1 使用ActionScript创建效果 406

20.3.2 只使用ActionScript 407

20.4 创建合成效果 408

20.4.1 串行效果 408

20.4.2 并行效果 408

20.4.3 组合合成效果 409

20.5 使用Flex内置的效果 409

20.5.1 AnimateProperty 410

20.5.2 Blur 410

20.5.3 Dissolve 411

20.5.4 Fade 411

20.5.5 Glow 412

20.5.6 Iris 413

20.5.7 Move 413

20.5.8 Pause 414

20.5.9 Resize 414

20.5.10 Rotate 415

20.5.11 SoundEffect 416

20.5.12 Wipe 417

20.5.13 Zoom 417

20.6 缓和函数 418

20.6.1 内置的缓和函数 418

20.6.2 创建自定义缓和函数 419

20.7 字体与效果 420

20.8 小结 421

第21章 拖放 423

21.1 拖放过程 423

21.2 拖放事件 425

21.3 支持拖放的组件 425

21.4 在基于列表的组件中启用拖放 426

21.5 移动与复制 427

21.6 多项拖动 427

21.7 双向拖放 428

21.8 使用拖放实现用户控制的排序 429

21.9 使用DragManager 430

21.9.1 操作值 431

21.9.2 DragManager函数 431

21.10 接受或拒绝放置 431

21.10.1 限制添加项 431

21.10.2 阻止事件传播 433

21.10.3 使用DragEvent对象找到放置目标 433

21.11 应用自定义放置方式 434

21.11.1 显示添加到组件的dataProvider 434

21.11.2 隐式添加到组件的dataProvider 435

21.12 为非列表组件添加拖动行为 436

21.12.1 设置示例 436

21.12.2 启动拖动 436

21.12.3 添加视觉反馈 437

21.12.4 处理放置 438

21.12.5 处理退出 438

21.12.6 综合起来 438

21.13 自定义拖放体验 440

21.13.1 修改拖动图像 440

21.13.2 修改拖动代理图标 441

21.14 小结 442

第22章 图表 443

22.1 图表简介 443

22.1.1 图表的构成 444

22.1.2 图表类型简介 444

22.2 准备系列和数据 445

22.3 创建图表 446

22.3.1 调用图表 446

22.3.2 添加图例 447

22.3.3 改变图表类型 448

22.4 堆叠图表 449

22.5 探索图表类型 450

22.5.1 面积图 450

22.5.2 条形图和柱状图 451

22.5.3 折线图 453

22.5.4 气泡图 453

22.5.5 烛台图和HLOC图 455

22.5.6 饼图 457

22.5.7 散点图 459

22.6 自定义图表 460

22.6.1 系列笔触 460

22.6.2 系列填充 460

22.7 小结 462

第23章 调试与测试 463

23.1 调试 463

23.1.1 使用Flash Debug Player 463

23.1.2 配置日志 464

23.1.3 使用trace()函数 465

23.1.4 跟踪日志查看器 465

23.1.5 把对象转换成字符串 466

23.1.6 FxSpy 467

23.1.7 监视网络活动 467

23.1.8 使用调试器 468

23.2 测试 471

23.2.1 测试的类型 471

23.2.2 Flex分析程序 472

23.2.3 FlexUnit(单元测试) 474

23.2.4 Fluint(单元测试) 477

23.2.5 FunFX(功能测试) 480

23.2.6 RIATest(功能测试) 481

23.2.7 HP QuickTest Pro(功能测试) 481

23.2.8 IBM Rational Functional Tester(功能测试) 482

23.3 小结 482

第24章 项目收尾 483

24.1 打印 483

24.1.1 在Flex中实现打印 483

24.1.2 打印工具 484

24.1.3 打印示例 484

24.1.4 控制缩放 485

24.1.5 添加对象的艺术 485

24.1.6 打印列表 487

24.1.7 捕获用户执行取消操作的时间 490

24.1.8 FlexReport 490

24.2 自定义包装器 490

24.2.1 包装器文件 491

24.2.2 包装器模板 491

24.2.3 最基本的要求 492

24.2.4 嵌入到Web应用程序中 492

24.2.5 在包装器中传递参数 493

24.3 部署 494

24.3.1 创建生产版本 494

24.3.2 放置客户端文件 495

24.3.3 放置服务器端文件 496

24.3.4 测试效果 496

24.4 小结 497

附录A 在线资源 499