Flex 4實戰

《Flex 4實戰》是2012 年1月清華大學出版社出版的圖書,作者是(美)Tariq Ahmed Dan Orlando John C. Bland II Joel Hooks

作品信息

原書名:Flex 4 in Action

作者: (美)Tariq Ahmed Dan Orlando John C. Bland II Joel Hooks

出版日期:2012 年1月

開本:16開

頁碼:1

版次:1-1

目錄

《flex 4實戰》

第Ⅰ部分 應用程式基礎知識

第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 currencyformatter 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 合二為一:rendereriseditor 205

10.4 高級項渲染器 205

10.4.1 advanceddatagridrenderer provider 206

10.4.2 引用列 207

10.4.3 跨列使用 208

10.4.4 實現通行顯示 208

10.5 濾鏡函式 210

10.6 小結 211

第Ⅱ部分 應用程式流與結構

第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 使用centerpopup()方法 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 blazeds 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 創建mxml複合組件 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

第Ⅲ部分 高級套用

第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 catalyst cs5進行聲明性設計 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 使用animatetransition shader設定像素著色器動畫 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

相關詞條

相關搜尋

熱門詞條

聯絡我們