《圖靈原創:深入淺出PhoneGap》深入淺出地介紹了時下流行的開源移動開發平台PhoneGap,內容涵蓋PhoneGap的各類API、外掛程式機制和第三方常用外掛程式,以及各主流平台上的通信機制的實現方式。
基本介紹
- 作者:饒 俠 / 張 堅 / 趙莉萍
- ISBN:9787115301550
- 頁數:326
- 定價:59.00元
- 出版社:人民郵電出版社
- 出版時間:2013-2
- 裝幀:平裝
內容介紹,作者介紹,作品目錄,
內容介紹
《圖靈原創:深入淺出PhoneGap》還介紹了如何整合流行的移動Web開發框架(如SenchaTouch、jQueryMobile和DojoMobile等),並用一個記事本的綜合實例來展示如何基於PhoneGap構建移動套用。
作者介紹
作品目錄
目 錄
第1章 概述 1
1.1 PhoneGap概述 1
1.1.1 PhoneGap是什麼 3
1.1.2 PhoneGap的由來 4
1.1.3 PhoneGap現狀 5
1.1.4 PhoneGap的優缺點 7
1.1.5 PhoneGap API 簡介 10
1.2 HTML5簡介 12
1.2.1 HTML5發展史 12
1.2.2 HTML5的新功能 12
1.3 相關技術 13
1.3.1 Titanium 13
1.3.2 Adobe AIR 13
1.3.3 Corona 14
1.3.4 AppMobi 15
1.3.5 JavaScript移動UI框架介紹 15
1.4 小結 16
第2章 基於PhoneGap快速開發移動Web套用 17
2.1 PhoneGap構成 17
2.2 基於PhoneGap移動本地套用開發周期 18
2.3 PhoneGap發布包 19
2.4 Android系統下快速開發 19
2.4.1 環境準備與配置 19
2.4.2 在Android平台上創建基於PhoneGap的HelloWorld套用 22
2.5 iOS系統下快速開發 32
2.5.1 環境準備與配置 32
2.5.2 在iOS平台上創建基於PhoneGap的HelloWorld套用 34
2.6 Windows Phone系統下快速開發 39
2.6.1 環境準備與配置 39
2.6.2 在Windows Phone平台上創建基於PhoneGap的HelloWorld套用 40
2.7 PhoneGap Build 43
第3章 PhoneGap與移動Web套用開發框架 46
3.1 jQuery Mobile+Backbone.js+Underscore.js 46
3.1.1 jQuery Mobile介紹 46
3.1.2 Backbone.js和Underscore.js介紹 48
3.1.3 使用jQuery Mobile、Backbone.js和Underscore.js構建MiniNote原型 52
3.2 Sencha Touch 60
3.2.1 Sencha Touch介紹 60
3.2.2 使用Sencha Touch構建MiniNote原型 68
3.3 Dojo Mobile 79
3.3.1 Dojo Mobile介紹 81
3.3.2 利用Dojo Mobile構建MiniNote原型 86
第4章 PhoneGap事件機制 90
4.1 註冊事件監聽器 90
4.2 PhoneGap特有事件 91
4.2.1 deviceready 91
4.2.2 backbutton 93
4.2.3 pause和resume 95
4.2.4 searchbutton 97
4.2.5 online和offline 97
4.2.6 menubutton 97
4.2.7 batterycritical、batterylow和batterystatus 99
4.2.8 startcallbutton和endcallbutton 102
4.2.9 volumedownbutton和volumeupbutton 102
第5章 PhoneGap的套用、通知、設備與網路連線API 104
5.1 套用API 104
5.1.1 PhoneGap白名單安全機制 104
5.1.2 主要對象闡述 106
5.1.3 相關業務操作 106
5.2 通知API 107
5.2.1 主要對象闡述 108
5.2.2 相關業務操作 108
5.3 設備API 113
5.3.1 主要對象闡述 113
5.3.2 相關業務操作 113
5.4 網路連線API 114
第6章 PhoneGap的加速計API 117
6.1 加速計原理介紹 117
6.2 加速計套用場景和實例 118
6.3 主要對象闡述 120
6.4 相關業務操作 120
6.4.1 獲取當前設備在x、y和z軸上的加速度 120
6.4.2 定期獲取設備的加速度信息 122
6.4.3 取消定期獲取設備的加速度信息 122
6.4.4 綜合實例 124
第7章 PhoneGap的地理位置API 129
7.1 地理位置套用場景和實例 129
7.2 主要對象闡述 130
7.2.1 Position對象 131
7.2.2 PositionError對象 131
7.2.3 Coordinates對象 131
7.2.4 Geolocation選項參數 132
7.3 相關業務操作 132
7.3.1 獲取設備當前的地理位置信息 132
7.3.2 定期獲取設備的地理位置信息 134
7.3.3 取消定期獲取設備的地理位置信息 135
7.3.4 綜合實例 137
第8章 PhoneGap的指南針API 139
8.1 指南針原理分析 140
8.2 指南針套用場景和實例 140
8.3 主要對象闡述 141
8.3.1 CompassHeading對象 141
8.3.2 CompassError對象 142
8.3.3 Compass選項參數 142
8.4 相關業務操作 142
8.4.1 獲取設備當前的指南針信息 143
8.4.2 定期獲取設備的指南針信息 144
8.4.3 取消定期獲取設備的指南針信息 144
8.4.4 綜合實例:製作一個指南針套用 146
第9章 PhoneGap的照相機API、捕獲API和媒體API 150
9.1 照相機API 150
9.1.1 主要對象闡述 150
9.1.2 相關業務操作 151
9.2 捕獲API 155
9.2.1 主要對象闡述 155
9.2.2 相關業務操作 156
9.3 媒體API 164
9.3.1 主要對象闡述 164
9.3.2 相關業務操作 164
第10章 PhoneGap的通訊錄API 169
10.1 主要對象闡述 169
10.1.1 聯繫人信息 169
10.1.2 聯繫人名字 170
10.1.3 聯繫人郵件和電話 170
10.1.4 聯繫人的地址 171
10.1.5 聯繫人組織結構 171
10.2 相關業務操作 171
10.2.1 查找聯繫人 171
10.2.2 創建聯繫人 173
10.2.3 保存聯繫人 173
10.2.4 刪除聯繫人 173
10.2.5 複製聯繫人 174
10.3 綜合實例 174
第11章 PhoneGap的存儲API 184
11.1 localStorage 184
11.1.1 主要對象闡述 184
11.1.2 相關業務操作 184
11.2 Web SQL 186
11.2.1 主要對象闡述 186
11.2.2 相關業務操作 186
11.3 IndexedDB 192
11.4 Lawnchair及其他 192
11.4.1 簡單套用 193
11.4.2 適配器架構 194
11.4.3 外掛程式架構 195
11.4.4 其他可選存儲框架 197
第12章 PhoneGap的檔案API 198
12.1 主要對象闡述 198
12.2 相關業務操作 198
12.2.1 檔案系統的請求與創建 199
12.2.2 檔案操作 201
12.2.3 目錄操作 203
12.2.4 檔案的上傳與下載 205
第13章 PhoneGap外掛程式與嵌入式特性 209
13.1 PhoneGap外掛程式架構 209
13.1.1 總體架構圖示 210
13.1.2 工作原理簡介 210
13.2 獲取PhoneGap外掛程式 210
13.3 使用PhoneGap外掛程式 211
13.3.1 在Android下使用外掛程式 211
13.3.2 在iOS下使用外掛程式 214
13.3.3 在Windows Phone下使用外掛程式 218
13.4 編寫PhoneGap外掛程式 220
13.4.1 編寫Android外掛程式 221
13.4.2 編寫iOS外掛程式 227
13.4.3 編寫Windows Phone外掛程式 232
13.5 PhoneGap的嵌入式特性 236
13.5.1 將PhoneGap嵌入iOS套用 236
13.5.2 將PhoneGap嵌入Android套用 238
第14章 PhoneGap第三方外掛程式概覽 242
14.1 NativeControls外掛程式介紹 242
14.1.1 NativeControls外掛程式概覽 242
14.1.2 NativeControls實例 243
14.2 WebGL外掛程式介紹 245
14.2.1 何為WebGLGap 246
14.2.2 WebGLGap實例 246
14.3 BarcodeScanner外掛程式介紹 247
14.4 Bluetooth外掛程式介紹 250
14.5 SMSPlugin外掛程式介紹 251
14.6 Globalization外掛程式介紹 252
14.7 Mac外掛程式介紹 254
14.8 Windows外掛程式介紹 256
14.9 其他常用外掛程式 257
第15章 PhoneGap套用調試 259
15.1 桌面瀏覽器調試 259
15.1.1 標準的Web頁面調試 259
15.1.2 基於瀏覽器外掛程式的設備模擬器調試 261
15.2 原生開發環境調試 265
15.2.1 Android模擬器和實體機的調試 265
15.2.2 iOS模擬器和實體機的調試 268
15.3 遠程調試 269
15.3.1 使用debug.phonegap.com進行遠程調試 269
15.3.2 本地搭建基於weinre的調試伺服器 272
15.3.3 基於iOS 5模擬器的遠程調試 275
15.3.4 基於新浪移動雲的遠程調試 277
15.3.5 Adobe Shadow 280
第16章 PhoneGap通信機制的實現原理 285
16.1 本地橋接 285
16.2 Android上的實現原理 285
16.2.1 JavaScript到本地代碼的通信 286
16.2.2 本地代碼到JavaScript的通信 287
16.2.3 小結 293
16.3 iOS上的實現原理 293
16.3.1 JavaScript到本地代碼的通信 293
16.3.2 本地代碼到JavaScript的通信 294
16.3.3 小結 297
16.4 其他平台的實現 297
第17章 綜合實例 298
17.1 完善對象模型 298
17.2 添加數據持久化功能 299
17.3 添加日期顯示功能 302
17.4 添加日期分組功能 302
17.5 添加簡易的數據備份與恢復功能 303
17.6 添加拍照功能 307
17.7 編輯筆記功能 310
17.8 傳送微博功能 312
17.8.1 創建微博開放平台套用 312
17.8.2 使用微博JS-SDK 314
17.8.3 使用微博JS-Widget 315
17.8.4 使用微博移動雲服務 317
17.9 刪除筆記功能 318
17.9.1 實現手指滑動刪除 318
17.9.2 實現“搖一搖”提示刪除功能 320
17.10 添加筆記分類功能 322
17.11 更改套用界面 326
附錄A PhoneGap相關資源 327
第1章 概述 1
1.1 PhoneGap概述 1
1.1.1 PhoneGap是什麼 3
1.1.2 PhoneGap的由來 4
1.1.3 PhoneGap現狀 5
1.1.4 PhoneGap的優缺點 7
1.1.5 PhoneGap API 簡介 10
1.2 HTML5簡介 12
1.2.1 HTML5發展史 12
1.2.2 HTML5的新功能 12
1.3 相關技術 13
1.3.1 Titanium 13
1.3.2 Adobe AIR 13
1.3.3 Corona 14
1.3.4 AppMobi 15
1.3.5 JavaScript移動UI框架介紹 15
1.4 小結 16
第2章 基於PhoneGap快速開發移動Web套用 17
2.1 PhoneGap構成 17
2.2 基於PhoneGap移動本地套用開發周期 18
2.3 PhoneGap發布包 19
2.4 Android系統下快速開發 19
2.4.1 環境準備與配置 19
2.4.2 在Android平台上創建基於PhoneGap的HelloWorld套用 22
2.5 iOS系統下快速開發 32
2.5.1 環境準備與配置 32
2.5.2 在iOS平台上創建基於PhoneGap的HelloWorld套用 34
2.6 Windows Phone系統下快速開發 39
2.6.1 環境準備與配置 39
2.6.2 在Windows Phone平台上創建基於PhoneGap的HelloWorld套用 40
2.7 PhoneGap Build 43
第3章 PhoneGap與移動Web套用開發框架 46
3.1 jQuery Mobile+Backbone.js+Underscore.js 46
3.1.1 jQuery Mobile介紹 46
3.1.2 Backbone.js和Underscore.js介紹 48
3.1.3 使用jQuery Mobile、Backbone.js和Underscore.js構建MiniNote原型 52
3.2 Sencha Touch 60
3.2.1 Sencha Touch介紹 60
3.2.2 使用Sencha Touch構建MiniNote原型 68
3.3 Dojo Mobile 79
3.3.1 Dojo Mobile介紹 81
3.3.2 利用Dojo Mobile構建MiniNote原型 86
第4章 PhoneGap事件機制 90
4.1 註冊事件監聽器 90
4.2 PhoneGap特有事件 91
4.2.1 deviceready 91
4.2.2 backbutton 93
4.2.3 pause和resume 95
4.2.4 searchbutton 97
4.2.5 online和offline 97
4.2.6 menubutton 97
4.2.7 batterycritical、batterylow和batterystatus 99
4.2.8 startcallbutton和endcallbutton 102
4.2.9 volumedownbutton和volumeupbutton 102
第5章 PhoneGap的套用、通知、設備與網路連線API 104
5.1 套用API 104
5.1.1 PhoneGap白名單安全機制 104
5.1.2 主要對象闡述 106
5.1.3 相關業務操作 106
5.2 通知API 107
5.2.1 主要對象闡述 108
5.2.2 相關業務操作 108
5.3 設備API 113
5.3.1 主要對象闡述 113
5.3.2 相關業務操作 113
5.4 網路連線API 114
第6章 PhoneGap的加速計API 117
6.1 加速計原理介紹 117
6.2 加速計套用場景和實例 118
6.3 主要對象闡述 120
6.4 相關業務操作 120
6.4.1 獲取當前設備在x、y和z軸上的加速度 120
6.4.2 定期獲取設備的加速度信息 122
6.4.3 取消定期獲取設備的加速度信息 122
6.4.4 綜合實例 124
第7章 PhoneGap的地理位置API 129
7.1 地理位置套用場景和實例 129
7.2 主要對象闡述 130
7.2.1 Position對象 131
7.2.2 PositionError對象 131
7.2.3 Coordinates對象 131
7.2.4 Geolocation選項參數 132
7.3 相關業務操作 132
7.3.1 獲取設備當前的地理位置信息 132
7.3.2 定期獲取設備的地理位置信息 134
7.3.3 取消定期獲取設備的地理位置信息 135
7.3.4 綜合實例 137
第8章 PhoneGap的指南針API 139
8.1 指南針原理分析 140
8.2 指南針套用場景和實例 140
8.3 主要對象闡述 141
8.3.1 CompassHeading對象 141
8.3.2 CompassError對象 142
8.3.3 Compass選項參數 142
8.4 相關業務操作 142
8.4.1 獲取設備當前的指南針信息 143
8.4.2 定期獲取設備的指南針信息 144
8.4.3 取消定期獲取設備的指南針信息 144
8.4.4 綜合實例:製作一個指南針套用 146
第9章 PhoneGap的照相機API、捕獲API和媒體API 150
9.1 照相機API 150
9.1.1 主要對象闡述 150
9.1.2 相關業務操作 151
9.2 捕獲API 155
9.2.1 主要對象闡述 155
9.2.2 相關業務操作 156
9.3 媒體API 164
9.3.1 主要對象闡述 164
9.3.2 相關業務操作 164
第10章 PhoneGap的通訊錄API 169
10.1 主要對象闡述 169
10.1.1 聯繫人信息 169
10.1.2 聯繫人名字 170
10.1.3 聯繫人郵件和電話 170
10.1.4 聯繫人的地址 171
10.1.5 聯繫人組織結構 171
10.2 相關業務操作 171
10.2.1 查找聯繫人 171
10.2.2 創建聯繫人 173
10.2.3 保存聯繫人 173
10.2.4 刪除聯繫人 173
10.2.5 複製聯繫人 174
10.3 綜合實例 174
第11章 PhoneGap的存儲API 184
11.1 localStorage 184
11.1.1 主要對象闡述 184
11.1.2 相關業務操作 184
11.2 Web SQL 186
11.2.1 主要對象闡述 186
11.2.2 相關業務操作 186
11.3 IndexedDB 192
11.4 Lawnchair及其他 192
11.4.1 簡單套用 193
11.4.2 適配器架構 194
11.4.3 外掛程式架構 195
11.4.4 其他可選存儲框架 197
第12章 PhoneGap的檔案API 198
12.1 主要對象闡述 198
12.2 相關業務操作 198
12.2.1 檔案系統的請求與創建 199
12.2.2 檔案操作 201
12.2.3 目錄操作 203
12.2.4 檔案的上傳與下載 205
第13章 PhoneGap外掛程式與嵌入式特性 209
13.1 PhoneGap外掛程式架構 209
13.1.1 總體架構圖示 210
13.1.2 工作原理簡介 210
13.2 獲取PhoneGap外掛程式 210
13.3 使用PhoneGap外掛程式 211
13.3.1 在Android下使用外掛程式 211
13.3.2 在iOS下使用外掛程式 214
13.3.3 在Windows Phone下使用外掛程式 218
13.4 編寫PhoneGap外掛程式 220
13.4.1 編寫Android外掛程式 221
13.4.2 編寫iOS外掛程式 227
13.4.3 編寫Windows Phone外掛程式 232
13.5 PhoneGap的嵌入式特性 236
13.5.1 將PhoneGap嵌入iOS套用 236
13.5.2 將PhoneGap嵌入Android套用 238
第14章 PhoneGap第三方外掛程式概覽 242
14.1 NativeControls外掛程式介紹 242
14.1.1 NativeControls外掛程式概覽 242
14.1.2 NativeControls實例 243
14.2 WebGL外掛程式介紹 245
14.2.1 何為WebGLGap 246
14.2.2 WebGLGap實例 246
14.3 BarcodeScanner外掛程式介紹 247
14.4 Bluetooth外掛程式介紹 250
14.5 SMSPlugin外掛程式介紹 251
14.6 Globalization外掛程式介紹 252
14.7 Mac外掛程式介紹 254
14.8 Windows外掛程式介紹 256
14.9 其他常用外掛程式 257
第15章 PhoneGap套用調試 259
15.1 桌面瀏覽器調試 259
15.1.1 標準的Web頁面調試 259
15.1.2 基於瀏覽器外掛程式的設備模擬器調試 261
15.2 原生開發環境調試 265
15.2.1 Android模擬器和實體機的調試 265
15.2.2 iOS模擬器和實體機的調試 268
15.3 遠程調試 269
15.3.1 使用debug.phonegap.com進行遠程調試 269
15.3.2 本地搭建基於weinre的調試伺服器 272
15.3.3 基於iOS 5模擬器的遠程調試 275
15.3.4 基於新浪移動雲的遠程調試 277
15.3.5 Adobe Shadow 280
第16章 PhoneGap通信機制的實現原理 285
16.1 本地橋接 285
16.2 Android上的實現原理 285
16.2.1 JavaScript到本地代碼的通信 286
16.2.2 本地代碼到JavaScript的通信 287
16.2.3 小結 293
16.3 iOS上的實現原理 293
16.3.1 JavaScript到本地代碼的通信 293
16.3.2 本地代碼到JavaScript的通信 294
16.3.3 小結 297
16.4 其他平台的實現 297
第17章 綜合實例 298
17.1 完善對象模型 298
17.2 添加數據持久化功能 299
17.3 添加日期顯示功能 302
17.4 添加日期分組功能 302
17.5 添加簡易的數據備份與恢復功能 303
17.6 添加拍照功能 307
17.7 編輯筆記功能 310
17.8 傳送微博功能 312
17.8.1 創建微博開放平台套用 312
17.8.2 使用微博JS-SDK 314
17.8.3 使用微博JS-Widget 315
17.8.4 使用微博移動雲服務 317
17.9 刪除筆記功能 318
17.9.1 實現手指滑動刪除 318
17.9.2 實現“搖一搖”提示刪除功能 320
17.10 添加筆記分類功能 322
17.11 更改套用界面 326
附錄A PhoneGap相關資源 327