《Flex 4实战》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)艾哈迈德,(美)奥兰多,(美)布兰德等著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302270416
  • 页数:567 页
图书介绍:本书从基础讲起,介绍了Flex中有关表单和数据的知识。然后逐渐过渡到核心概念,如导航、拖放和事件。

第Ⅰ部分 应用程序基础知识 3

第1章 认识Flex 3

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

1.2 RIA解决方案 5

1.2.1他们什么都想要 5

1.2.2 RIA的解决之道 6

1.2.3 RIA的工作原理 6

1.3 RIA的竞争技术 6

1.3.1 Adobe公司的Flex 7

1.3.2 Microsoft公司的Silverlight 7

1.3.3 Sun公司的JavaFX 8

1.3.4 AJAX——终点站 8

1.4熟悉Flex 10

1.4.1利用Adobe Flash的优势 11

1.4.2 Flex与JavaScript可以一起使用 11

1.4.3 Flex技术体系 12

1.5 Flex的工作原理 14

1.5.1 Flex语言 14

1.5.2事件驱动的环境 16

1.5.3 Flex的局限 17

1.6 Flex 4的新功能 18

1.7小结 19

第2章 从零开始 21

2.1经济的Flex开发方式 21

2.1.1建立编译环境 22

2.1.2建立编辑环境 23

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

2.2使用Flash Builder做真正的开发 24

2.2.1产品和价格表 25

2.2.2获得Flash Builder 26

2.3探索Flash Builder 26

2.4视图与视角 28

2.4.1预定义的视角 28

2.4.2切换视角 28

2.4.3自定义视角 29

2.5第一个项目——HelloWorld 30

2.5.1创建项目 30

2.5.2输入代码 32

2.5.3编译和运行 32

2.5.4查看实际效果 33

2.6使用设计模式 33

2.7内置的参考和API文档 34

2.7.1面向对象语言及其API 35

2.7.2访问API参考 35

2.7.3研读API参考 36

2.8 MXML与ActionScript速写 37

2.8.1 MXML的结构 37

2.8.2 MXML与ActionScript的关系 38

2.8.3事件由ActionScript处理 39

2.9小结 41

第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.2.5特殊数据类型 46

3.3循环 46

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

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

3.3.3 for each(项in数组/对象) 48

3.3.4 while(条件) 48

3.3.5 do while(条件) 49

3.4条件语句(if和switch) 49

3.4.1 if…else 49

3.4.2 switch语句 51

3.5数组 52

3.5.1索引数组 53

3.5.2关联数组 55

3.6 ActionScript特色语法 56

3.6.1花括号 57

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

3.7函数、类和包简介 59

3.7.1创建函数 59

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

3.8简单的数据绑定 64

3.8.1不使用绑定 64

3.8.2添加绑定 64

3.8.3绑定标签 65

3.8.4使ActionScript变量可被绑定 66

3.9小结 67

第4章 布局和容器 69

4.1 Spark与Halo(MX) 69

4.2绝对布局 70

4.3基于约束的布局 72

4.3.1基本约束 73

4.3.2增强的约束 74

4.4自动布局 79

4.4.1使用布局类 79

4.4.2需要空间 81

4.5可变大小和固定大小 82

4.5.1可变大小 82

4.5.2固定大小 82

4.6容器 82

4.6.1 Application容器 83

4.6.2 Canvas容器 84

4.6.3基于 Group的容器和SkinnableContainer 84

4.6.4 Panel容器 87

4.6.5 ApplicationControlBar容器 87

4.6.6 DataGroup和SkinnableDataContainer 88

4.6.7 DividedBox、 HDividedBox和VDividedBox容器 91

4.6.8 Form容器 92

4.6.9 Grid容器 93

4.7小结 94

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

5.1 id特性 96

5.2 Flex控件分类 97

5.2.1 Text控件 97

5.2.2 Date控件 99

5.2.3 Numeric控件 101

5.2.4 Flex的按钮组件 103

5.2.5选单控件 108

5.3访问控件的值 110

5.3.1向函数传递值 111

5.3.2向函数传递事件 111

5.3.3直接访问属性 112

5.3.4应该选择哪种方式 114

5.4小结 114

第6章 验证用户输入 115

6.1验证简介 115

6.2内置验证器 116

6.2.1 Validator 117

6.2.2 StringValidator 118

6.2.3 NumberValidator 119

6.2.4 DateValidator 120

6.2.5 EmailValidator 122

6.2.6 CreditCardValidator 123

6.2.7 CurrencyValidator 124

6.2.8 PhoneNumberValidator 125

6.2.9 RegExpValidator 125

6.2.10 SocialSecurityValidator 127

6.2.11 ZipCodeValidator 128

6.3实时验证 129

6.4提交值验证 130

6.5通过性验证 130

6.6脚本式验证 131

6.7验证技巧 132

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

6.7.2控制由什么来触发验证操作 133

6.8小结 133

第7章 格式化数据 135

7.1内置格式化程序 136

7.1.1 Formatter 136

7.1.2 NumberFormatter 136

7.1.3 CurrencyFormaatter 138

7.1.4 DateFormatter 139

7.1.5 PhoneFormatter 142

7.1.6 ZipCodeFormatter 144

7.1.7 SwitchSymbolFormatter 145

7.2实时格式化 146

7.3脚本式格式化 147

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

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

7.4处理格式化错误 149

7.5小结 150

第8章 MX DataGrid、列表和树 151

8.1基于列表的一系列MX组件 151

8.1.1 ListBase和AdvancedListBase的属性 152

8.1.2 MX ListBase事件 153

8.2集合与dataProvider 153

8.2.1填充dataProvider 154

8.2.2集合的类型 154

8.2.3集合的使用者 154

8.3集合的初始化 155

8.4集合的填充 156

8.4.1 List组件 156

8.4.2 HorizontalList组件 159

8.4.3 TileList组件 160

8.4.4 DataGrid组件 162

8.4.5 Tree组件 166

8.5与基于List的MX组件交互 168

8.5.1列表事件 168

8.5.2向函数传递事件 168

8.5.3向函数中传递数据 170

8.5.4直接访问被选定的行 171

8.5.5绑定到被选定的行 171

8.6小结 172

第9章 使用Spark列表控件 173

9.1基于SparkList的一系列组件 173

9.1.1使用名称空间标识合适的组件 173

9.1.2使用基于List的Spark控件的项渲染器 174

9.2基于List的Spark控件 174

9.2.1 ButtonBar控件 175

9.2.2 SparkList控件 176

9.2.3 DropDownList控件 177

9.3与基于List的Spark组件的交互 179

9.3.1选择项目时默认分发事件 179

9.3.2 IndexChangedEvent对象 179

9.4理解Flex 4基于List的组件架构 180

9.4.1类层次结构 180

9.4.2新的基于List的Spark组件类 181

9.5在Spark架构中构建基于List的自定义组件 181

9.5.1理解Group和SkinnableContainer类 182

9.5.2构建自定义SparkList组件 182

9.6小结 186

第10章 自定义列表 187

10.1自定义数据显示 187

10.1.1 labelField属性 187

10.1.2标签函数 188

10.1.3标签函数的类型 189

10.1.4使用多列标签函数 190

10.1.5标签函数的用途 192

10.1.6从全局考虑 192

10.2项渲染器 192

10.2.1 Spark MXML项渲染器 193

10.2.2在Spark中对MX组件使用MXML项渲染器 194

10.2.3创建行内项渲染器 198

10.2.4使用混入项渲染器 198

10.3项编辑器 200

10.3.1启用项编辑功能 200

10.3.2创建项编辑器 202

10.3.3项编辑事件 204

10.3.4合二为一:rendererlsEditor 205

10.4高级项渲染器 205

10.4.1 AdvancedDataGridRendererProvider 206

10.4.2引用列 207

10.4.3跨列使用 208

10.4.4实现通行显示 208

10.5滤镜函数 210

10.6小结 211

第Ⅱ部分 应用程序流与结构 215

第11章 事件 215

11.1事件系统 215

11.1.1事件系统——好莱坞原则 217

11.1.2事件发送系统 217

11.2发送和接收事件 218

11.2.1使用ActionScript添加事件监听器 220

11.2.2绑定事件 222

11.2.3移除事件监听器 225

11.3自定义事件 227

11.3.1分派自定义事件类型 227

11.3.2创建自定义事件 228

11.3.3向自定义分派器中添加事件元数据 232

11.3.4停止事件传播 234

11.4小结 236

第12章 应用程序导航 237

12.1准备菜单数据 237

12.1.1嵌套的数组 238

12.1.2嵌套的数组集合 238

12.1.3模型 240

12.1.4 XML组件和类 241

12.1.5 XMLList组件 242

12.1.6 XMLListCollection组件及类 242

12.2使用菜单 244

12.2.1创建菜单 245

12.2.2定位菜单 246

12.2.3自定义菜单项 246

12.2.4与菜单交互 248

12.3使用菜单栏 250

12.3.1创建菜单栏 250

12.3.2定位菜单栏 251

12.3.3自定义菜单栏中的项 251

12.3.4处理用户与菜单栏的交互 252

12.4使用ViewStack 254

12.4.1创建ViewStack 255

12.4.2为ViewStack添加导航功能 257

12.4.3处理用户与ViewStack的交互 260

12.5 TabNavigator 261

12.5.1创建TabNavigator 261

12.5.2处理用户与TabNavigator的交互 262

12.6 Accordion 263

12.6.1创建Accordion 263

12.6.2填充Accordion 264

12.6.3处理用户与Accordion的交互 265

12.7小结 265

第13章 弹出式窗口简介 267

13.1创建首个弹出式窗口 267

13.1.1首先创建标题窗口 267

13.1.2使用PopUpManager打开窗口 268

13.1.3关闭弹出式窗口 270

13.2控制窗口位置 270

13.2.1使用centerPopUpo方法 271

13.2.2计算窗口的位置 271

13.3弹出式窗口与数据的结合 274

13.3.1从弹出式窗口中取得数据 277

13.3.2发送包含数据的自定义事件 277

13.3.3取出数据 278

13.3.4向窗口中发送数据 279

13.4使用警告窗口 282

13.4.1创建简单的警告窗口 282

13.4.2挖掘警告窗口的潜力 282

13.4.3高级警告窗口 283

13.4.4修饰警告窗口 284

13.5小结 286

第14章 实现视图状态 287

14.1理解视图状态 287

14.2 Flex中的视图状态 288

14.2.1使用属性 290

14.2.2使用事件处理程序 293

14.2.3使用状态组 295

14.2.4添加和移除组件 297

14.2.5更改组件的父组件 302

14.2.6状态事件 304

14.3综合运用 306

14.4小结 307

第15章 使用数据服务 309

15.1访问服务器端数据 309

15.1.1使用HTTPService对象 310

15.1.2通过WebService组件使用Web服务 312

15.2活动消息格式 313

15.2.1开源AMF 314

15.2.2 AMF与PHP 314

15.2.3 AMF和ColdFusion 314

15.2.4 B1azeDS 314

15.2.5 LiveCycle Data Service 315

15.2.6其他技术 315

15.3使用Flash Builder构建以数据为中心的应用程序 315

15.3.1建立正确的环境 315

15.3.2与服务器建立连接 316

15.4使用ColdFusion进行以数据为中心的Flex 322

15.5使用Java EE和BlazeDS进行以数据为中心的Flex开发 324

15.6把模型绑定到视图上 325

15.6.1拖放式数据绑定 325

15.6.2生成一个大纲-细节表单 326

15.6.3检查Flash Builder代码 327

15.7小结 329

第16章 对象和类 331

16.1用5分钟的时间理解OO理论 331

16.1.1对象和类的关系 331

16.1.2对象拥有属性和方法 332

16.1.3继承 333

16.1.4封装和耦合 334

16.2操作对象 335

16.2.1进一步了解对象 335

16.2.2对象的方法 336

16.2.3方法的参数 337

16.2.4方法返回信息 337

16.3创建类 338

16.3.1创建类文件 338

16.3.2指定包 339

16.3.3类修饰符 339

16.3.4超类:扩展类 339

16.3.5接口 340

16.3.6分析类 340

16.4操作属性 341

16.4.1添加属性 341

16.4.2添加getter/setter方法 342

16.5创建类的方法 343

16.6小结 346

第17章 自定义组件 347

17.1理解Flex 4组件 347

17.1.1 Spark组件架构 348

17.1.2自定义组件的种类 349

17.2创建简单的自定义组件 352

17.2.1构建简单的ComboBox 352

17.2.2简单的Spark组件 354

17.3使用Spark Skin对象进行换肤 355

17.3.1使用元数据绑定组件皮肤 356

17.3.2自定义组件视图状态 356

17.3.3定义皮肤部件 357

17.3.4声明host 358

17.4复合组件 358

17.4.1比较Halo与Spark 359

17.4.2 Spark布局类 360

17.4.3创建VMXML复合组件 361

17.5创建高级Flex 4组件 363

17.5.1使用ActionScript构建州选择器 363

17.5.2确定何时重写 364

17.6组件的通信 368

17.6.1使用getter和setter作为属性代理 369

17.6.2将变量绑定到组件属性 370

17.6.3使用事件传递数据 371

17.7小结 373

第18章 创建可重用组件 375

18.1利用可重用性 375

18.1.1 Reveal组件的背景 376

18.1.2 Spark可重用性的理论和概念 376

18.1.3创建Reveal组件 378

18.1.4为第一个Reveal实现添加皮肤 380

18.2 Reveal的新外观 383

18.3运行时共享库 387

18.3.1理解SWC文件 387

18.3.2 RSL的类型 387

18.3.3在Flex应用程序中使用RSL 388

18.4小结 390

第19章 架构设计模式 391

19.1 Flex驱动的设计模式 392

19.1.1模型-视图-控制器模式 392

19.1.2开发自己的架构 393

19.2微架构简介 398

19.2.1微架构的简单定义 398

19.2.2使用微架构的原因 399

19.2.3第一代微架构 399

19.2.4第二代微架构 400

19.2.5控制反转和依赖注入 401

19.3使用Robotlegs框架 402

19.3.1使用Robotlegs注入依赖 402

19.3.2使用Robotlegs映射实用工具来配置依赖注入 403

19.4使用Robotlegs MVCS创建应用程序 408

19.4.1设置Robotlegs项目 409

19.4.2使用Context类引导应用程序 409

19.4.3对视图使用中介 411

19.4.4使用Robotlegs命令进行控制 416

19.4.5服务是通往外界的大门 417

19.4.6使用模型来管理数据和状态 420

19.5小结 422

第III部分 高级应用 425

第20章 自定义体验 425

20.1用户体验设计的原则 425

20.1.1围绕用户故事进行构建 425

20.1.2考虑上下文 427

20.1.3 VIBE模型 429

20.2视觉吸引力 429

20.2.1创建并使用主题 430

20.2.2使用CSS设置Flex 4应用程序的样式 433

20.3交互式体验 437

20.3.1使用FXG和Flash CatalystCS5进行声明性设计 437

20.3.2使用效果增强用户体验 439

20.4业务优化 441

20.4.1使用最佳实践改进体验 441

20.4.2通过单元测试改进用户体验 442

20.4.3概要分析Flex 4中的应用程序 443

20.5可扩展性 444

20.5.1可扩展性与用户体验的间接关系 444

20.5.2可扩展性与用户体验的直接关系 445

20.5.3编写干净的代码以实现易用性 445

20.6小结 447

第21章 使用效果 449

21.1效果的含义 449

21.1.1可用的效果 449

21.1.2合成效果 451

21.2使用效果 451

21.2.1创建效果的方式 451

21.2.2由事件触发的效果 451

21.2.3以编程方式应用效果 453

21.2.4使用状态过渡来触发效果 457

21.3创建合成效果 458

21.3.1串行效果 458

21.3.2并行效果 459

21.3.3组合合成效果 460

21.4探索效果 461

21.4.1 Animate效果 462

21.4.2使用AnimateFilter设置滤镜的动画 469

21.4.3使用AnimateTransitionShader设置像素着色器动画 472

21.4.4自定义效果缓动 476

21.4.5在播放动画时显示文本 478

21.4.6创建声音效果 480

21.5小结 481

第22章 拖放 483

22.1拖放过程 483

22.2在Flex组件中实现拖放 486

22.2.1内置支持拖放的组件 486

22.2.2在列表中启用拖放 486

22.2.3移动与复制 488

22.2.4使用拖放实现用户控制的排序 489

22.2.5多项拖放 490

22.2.6双向拖放 491

22.3使用DragManager 493

22.3.1 DragManager的属性和方法 493

22.3.2接受或拒绝放置 494

22.3.3应用自定义放置方式 496

22.4为非列表组件添加拖放行为 499

22.4.1设置示例 499

22.4.2启动拖动 500

22.4.3使用自定义的拖动代理 502

22.4.4处理放置 504

22.5自定义拖放体验 508

22.5.1修改拖动代理图标 508

22.5.2用于拖放的List组件换肤 509

22.5.3在Spark和Halo之间混合拖放 510

22.6小结 511

第23章 探索Flex图表 513

23.1图表简介 513

23.1.1图表的构成 514

23.1.2图表类型简介 514

23.2准备系列和数据 515

23.3创建图表 516

23.3.1调用图表 516

23.3.2添加图例 517

23.3.3改变图表类型 518

23.3.4过滤图表数据 520

23.4堆叠图表 521

23.5探索图表类型 522

23.5.1面积图 522

23.5.2条形图和柱状图 523

23.5.3折线图 525

23.5.4气泡图 526

23.5.5烛台图和HLOC图 528

23.5.6饼图 530

23.5.7散点图 533

23.6自定义图表 535

23.6.1系列笔触 535

23.6.2系列填充 536

23.7小结 538

第24章 调试与测试 539

24.1调试 539

24.1.1安装Flash Debug Player 540

24.1.2使用trace()函数 540

24.1.3使用Flash Builder调试器 542

24.1.4监视网络活动 546

24.2 Flex概要分析器 547

24.3使用自动化工具测试应用程序 549

24.3.1单元测试 550

24.3.2功能测试 555

24.4小结 557

第25章 项目收尾 559

25.1自定义HTML包装器 559

25.1.1包装器文件 560

25.1.2 HTML模板 560

25.1.3 SWFObject 2 561

25.2部署 563

25.2.1创建生产版本 564

25.2.2放置客户端文件 565

25.2.3放置服务器端文件 565

25.2.4测试应用程序 565

25.3小结 566