作者簡介
作者:(美國)Jeff Tapper (美國)Michael Labriola 譯者:高強 劉躍邦
Jeff Tapper,Adobe技術社區最有影響力的專家之一,擁有豐富的Web開發經驗,客戶包括摩根史坦利、IBM、道瓊斯等。他還是Web Developers & Designers Journal雜誌的編委。
Michael Labriola Adobe 技術社區最著名的專家之一。是Adobe開發人員中心的重要撰稿人。也是Adobe技術郵件列表中最受歡迎的“大俠”。除本書外。他還與Jeff Tapper等人合著了《Flex 3權威指南》(人民郵電出版社出版)一書。
內容簡介
《Adobe AIR權威指南》由Adobe公司專家編寫,以一個實戰套用為開發背景,有針對性地逐項介紹了AIR的各種特性,包括與剪貼簿互動,在作業系統與AIR之間實現拖放,讀寫SQLite資料庫,與檔案系統互動,定製套用外觀,等等。此外,書中還深入探討了AIR套用的測試、部署和安全性等問題。
《Adobe AIR權威指南》適合各層次Web開發人員閱讀。
媒體評論
“本書是AIR技術圖書中的佼佼者,將使你輕鬆結合桌面技術和網際網路技術進行Web開發。”
——Rafiq Elmansy,資深多媒體圖形設計師和Web設計師
“一部少見的好作品。作者毫無保留地提供了在Adobe AIR實戰中必用的技巧和技術。”
——Amazon讀者評論
目錄
第1章 構建第一個AIR套用 1
1.1 如何構建AIR套用 1
1.1.1 用AIR和Flex構建Hello World套用 1
1.1.2 用AIR和HTML構建Hello World套用 2
1.1.3 利用套用描述檔案來描述套用 3
1.1.4 測試套用 7
1.1.5 調試套用 8
1.2 打包套用完成部署 8
1.2.1 使用AIR開發工具(ADT)打包套用 8
1.2.2 使用Flex Builder打包套用 9
1.3 下一步工作 10
第2章 時間跟蹤套用 11
2.1 初識dpTimeTracker 11
2.1.1 下載dpTimeTracker代碼 11
2.1.2 導入項目 12
2.1.3 使用套用 12
2.2 使用Flex Builder調試工具 15
2.2.1 斷點 15
2.2.2 trace語句 16
2.3 理解套用框架 17
2.4 下一步工作 18
第3章 與剪貼簿互動 19
3.1 集成作業系統 19
3.2 分析Clipboard類 19
3.2.1 了解剪貼簿數據格式 20
3.2.2 創建定製格式 22
3.2.3 了解剪貼簿傳輸模式 24
3.2.4 了解數據串列化 24
3.2.5 延遲呈現 26
3.3 分析dpTimeTracker如何使用剪貼簿 26
3.4 下一步工作 30
第4章 在OS與AIR之間實現拖放 31
4.1 套用中的拖放(DragManager類) 31
4.2 在OS和套用之間完成拖放(NativeDragManager) 40
4.3 將元素從OS拖放到AIR套用 40
4.4 將元素拖入dpTimeTracker套用 43
4.5 從AIR套用向OS拖動元素 43
4.6 將元素拖入OS 47
4.7 下一步工作 49
第5章 讀寫SQLite資料庫 50
5.1 SQLite簡介 50
5.1.1 SQLite特性 50
5.1.2 數據類型 51
5.1.3 限制 52
5.2 從AIR訪問SQLite 52
5.2.1 同步或異步通信 52
5.2.2 打開和創建SQLite資料庫 54
5.2.3 執行SQL語句 57
5.2.4 關閉一個資料庫連線 60
5.2.5 創建資料庫和表 60
5.2.6 從資料庫選擇數據 66
5.2.7 向資料庫插入數據 70
5.2.8 更新和刪除數據 74
5.2.9 使用事務 75
5.3 最佳化資料庫性能 80
5.3.1 使用analyze 80
5.3.2 最佳化SQLStatement 81
5.4 了解dpTimeTracker套用中的資料庫訪問 81
5.4.1 使用SQL命令 82
5.4.2 SQL命令序列化 85
5.4.3 使用SQL命令插入和更新 87
5.5 下一步工作 90
第6章 與檔案系統互動 91
6.1 了解File類 91
6.1.1 引用檔案位置 91
6.1.2 與檔案內容互動 91
6.1.3 指定檔案動作 91
6.2 同步和異步訪問檔案 92
6.3 訪問檔案系統信息 92
6.3.1 指定路徑 93
6.3.2 確定作業系統特定的行結束符 94
6.3.3 指定檔案路徑為URL 94
6.3.4 使用特殊目錄 95
6.4 使用錯誤處理 96
6.5 處理目錄 96
6.5.1 動作 96
6.5.2 檔案和目錄事件 103
6.5.3 使用FileStream類 103
6.6 進一步分析File類 108
6.6.1 瀏覽檔案 108
6.6.2 刪除檔案 109
6.6.3 複製、移動或重命名檔案 109
6.6.4 將ActionScript對象寫至檔案系統 109
6.7 分析dpTimeTracker示例 111
6.7.1 創建Excel檔案 111
6.7.2 讀SQLite檔案 112
6.8 下一步工作 113
第7章 定製套用的外觀 114
7.1 了解Flex和AIR API的差別 114
7.1.1 使用樣式 114
7.1.2 使用皮膚 119
7.1.3 使用Window API 120
7.2 處理選單 126
7.2.1 套用和視窗選單 126
7.2.2 上下文選單 129
7.2.3 OS選單 131
7.3 分析dpTimeTracker中的定製 133
7.4 下一步工作 135
第8章 使用Presence API 136
8.1 了解與檢測網路的存在 136
8.1.1 檢測用戶的連線 136
8.1.2 了解URLMonitor 139
8.1.3 了解SocketMonitor 141
8.2 了解和檢測用戶的存在 143
8.2.1 為什麼關心用戶的存在 143
8.2.2 跟蹤用戶的存在 143
8.3 在套用中增加自動更新特性 144
8.4 分析dpTimeTracker中的自動更新特性 147
8.5 下一步工作 153
第9章 在Flex/AIR套用中使用HTML內容 154
9.1 了解WebKit 154
9.1.1 WebKit的AIR擴展 154
9.1.2 WebKit中的JavaScript 160
9.1.3 從JavaScript訪問AIR API 160
9.1.4 JavaScript中的ActionScript對象 161
9.1.5 從ActionScript訪問JavaScript DOM 162
9.1.6 HTMLLoader 163
9.2 處理事件 163
9.2.1 DOM事件 164
9.2.2 用JavaScript處理事件 164
9.2.3 JavaScript異常 166
9.3 控制HTML內容 166
9.3.1 滾動 166
9.3.2 處理歷史列表 166
9.4 使用HTMLHost 167
9.5 在作業系統默認瀏覽器中打開HTML內容 168
9.6 增加PDF內容 169
9.6.1 檢測PDF功能 169
9.6.2 載入PDF檔案 170
9.6.3 了解AIR中的PDF限制 170
9.7 分析dpTimeTracker套用中HTML的使用 171
9.8 下一步工作 173
第10章 了解遠程數據需求 174
10.1 為什麼使用伺服器 174
10.1.1 可以使用哪種伺服器 174
10.1.2 SOAP 175
10.1.3 REST/XML 176
10.1.4 動作訊息格式(AMF) 177
10.1.5 實時訊息協定(RTMP) 178
10.1.6 Socket 179
10.2 使用伺服器時利用設計模式 180
10.2.1 AsyncToken的作用 181
10.2.2 Service接口的作用 181
10.2.3 樁數據的作用 181
10.2.4 ServiceFactory的作用 182
10.3 dpTimeTracker套用中使用遠程數據 186
10.3.1 分析與Harvest的同步 186
10.3.2 分析版本系統 190
10.4 下一步工作 191
第11章 與Adobe BlazeDS通信 192
11.1 BlazeDS的作用 192
11.2 如何得到BlazeDS 193
11.3 BlazeDS體系結構基礎 193
11.4 配置檔案 195
11.5 遠程過程調用 196
11.5.1 配置BlazeDS使用RemoteObject 196
11.5.2 客戶中使用目標 198
11.5.3 映射Java和ActionScript類型 201
11.6 發布/訂購訊息機制 202
11.6.1 配置BlazeDS使用訊息機制 203
11.6.2 客戶中使用目標 206
11.7 BlazeDS和LiveCycle數據服務 215
11.8 下一步工作 215
第12章 使用Fluint測試AIR套用 216
12.1 測試類型 216
12.2 測試框架 217
12.2.1 了解Fluint 218
12.2.2 安裝Fluint 218
12.3 框架術語 219
12.3.1 測試方法 219
12.3.2 測試用例 220
12.3.3 測試套件 221
12.3.4 測試運行工具 221
12.4 創建基本單元測試 222
12.4.1 創建測試用例和方法 222
12.4.2 組織測試目錄 224
12.5 創建異步測試 224
12.5.1 實現簡單的setUp和tearDown 225
12.5.2 創建一個簡單的異步測試方法 225
12.5.3 使用傳遞數據 228
12.6 創建集成測試 229
12.6.1 創建一個簡單的UIComponent測試 229
12.6.2 使用測試序列 232
12.6.3 使用回響者 236
12.7 下一步工作 239
第13章 部署AIR套用 240
13.1 使用數字證書 240
13.2 購買Thawte證書 242
13.3 配置套用選項 243
13.3.1 安裝工具文本 243
13.3.2 安裝目錄和選單位置 244
13.3.3 檔案類型 245
13.3.4 瀏覽器調用 245
13.3.5 圖示 246
13.3.6 綜合 246
13.4 AIR套用打包 248
13.4.1 用Flex Builder打包 248
13.4.2 用命令行打包 251
13.4.3 對中間檔案簽名 252
13.4.4 移植AIR檔案 253
13.5 發布AIR套用 253
13.5.1 使用無縫Badge安裝 254
13.5.2 定製Badge 255
13.5.3 使用Express安裝 256
13.5.4 使用預定製Badge 257
13.6 下一步工作 257
第14章 了解AIR安全性 258
14.1 Web套用和桌面套用安全性差別 258
14.2 AIR安全特性 259
14.3 沙箱 259
14.4 套用沙箱的限制 261
14.4.1 Flex/ActionScript 261
14.4.2 HTML/JavaScript 262
14.5 非套用沙箱的許可權 263
14.6 跨沙箱通信 263
14.7 加密庫 266
14.8 dpTimeTracker套用中的加密庫 267
14.9 最差實踐 269
14.9.1 使用輸入或動態數據作為參數 269
14.9.2 辜負對AIR包的信任 270
14.10 下一步工作 271
附錄A AIR起步 272
附錄B 使用AIR 1.1需要考慮的問題 274