第1章 PhoneGap介绍 1
1.1 使用PhoneGap 1
1.1.1 快速展示PhoneGap的功能 2
1.1.2 从基础开始 4
1.2 PhoneGap的历史 6
1.2.1 了解PhoneGap的起源 6
1.2.2 PhoneGap的当前状态评估 7
1.2.3 了解PhoneGap的优缺点 7
1.3 理解PhoneGap应用程序的基础 8
1.3.1 PhoneGap的作用 8
1.3.2 API概览 11
1.3.3 移动设计问题 11
1.4 本章小结 13
第2章 安装和配置PhoneGap 15
2.1 下载PhoneGap 15
2.1.1 为iOS下载PhoneGap 16
2.1.2 为Android下载PhoneGap 17
2.1.3 为BlackBerry下载PhoneGap 19
2.1.4 为webOS下载PhoneGap 20
2.1.5 为Symbian下载PhoneGap 20
2.2 使用PhoneGap Build 21
2.3 选择开发环境 23
2.4 本章小结 24
第3章 基本攻略 27
3.1 在Xcode中使用PhoneGap 27
3.2 在Android设备中使用PhoneGap 32
3.3 在BlackBerry设备中使用PhoneGap 36
3.4 在其他设备中使用PhoneGap 37
3.5 本章小结 37
第4章 事件 39
4.1 理解事件 39
4.2 使用事件侦听器 40
4.3 理解事件类型 41
4.3.1 backbutton事件 41
4.3.2 deviceready事件 42
4.3.3 menubutton事件 43
4.3.4 pause事件 43
4.3.5 resume事件 44
4.3.6 searchbutton事件 45
4.3.7 online事件 46
4.3.8 offline事件 47
4.4 本章小结 50
第5章 使用设备、网络和通知工作 51
5.1 从设备获取信息 51
5.1.1 获取设备的名称 52
5.1.2 获取PhoneGap的版本信息 52
5.1.3 获取设备平台信息 52
5.1.4 获取设备的UUID 53
5.1.5 获取操作系统版本 53
5.2 网络检测 55
5.3 使用通知 57
5.3.1 使用警告 57
5.3.2 使用确认对话框 58
5.3.3 使用鸣叫 59
5.3.4 使用振动 59
5.4 本章小结 61
第6章 加速计 63
6.1 认识加速计 63
6.1.1 什么是加速计 63
6.1.2 使用加速计 64
6.1.3 加速计应用程序展示 64
6.2 使用Acceleration对象 68
6.3 使用加速计方法 68
6.3.1 getCurrentAcceleration 68
6.3.2 watchAcceleration 69
6.3.3 clearWatch 70
6.4 加速计选项 70
6.5 本章小结 72
第7章 罗盘 75
7.1 认识罗盘 75
7.1.1 什么是罗盘 75
7.1.2 不同设备的差异 76
7.1.3 使用罗盘 78
7.1.4 罗盘应用程序展示 78
7.2 使用罗盘方法 80
7.2.1 getCurrentHeading 80
7.2.2 watchHeading 80
7.2.3 clearWatch 81
7.3 使用罗盘选项 81
7.4 改善外观和体验 83
7.5 本章小结 86
第8章 地理定位 89
8.1 认识地理定位 89
8.1.1 什么是地理定位 89
8.1.2 使用地理定位 89
8.1.3 地理定位应用程序展示 90
8.2 Position、PositionError和Coordinates对象 92
8.2.1 Position对象 92
8.2.2 PositionError对象 93
8.2.3 Coordinates对象 93
8.3 使用地理定位方法 93
8.3.1 getCurrentPosition 93
8.3.2 watchPosition 94
8.3.3 clearWatch 95
8.4 使用地理定位选项 95
8.5 改善外观和体验 97
8.6 本章小结 99
第9章 媒体 101
9.1 认识媒体文件 101
9.1.1 什么是媒体文件 101
9.1.2 使用媒体文件 101
9.1.3 媒体应用程序展示 102
9.2 Media对象 104
9.3 使用媒体方法 105
9.3.1 getCurrentPosition 105
9.3.2 getDuration 106
9.3.3 play 106
9.3.4 pause 107
9.3.5 release 107
9.3.6 startRecord 108
9.3.7 stop 108
9.4 处理错误 109
9.5 改善外观和体验 112
9.6 本章小结 114
第10章 摄像头 117
10.1 认识摄像头 117
10.1.1 什么是摄像头 117
10.1.2 什么是照片画廊 118
10.1.3 使用摄像头 119
10.1.4 摄像头应用程序展示 119
10.2 使用Camera对象 122
10.3 使用getPicture方法 122
10.4 使用摄像头选项 124
10.5 改善外观和体验 127
10.6 本章小结 129
第11章 存储 131
11.1 了解存储选项 131
11.2 使用数据库对象 134
11.2.1 打开一个数据库 134
11.2.2 运行一个SQL查询 134
11.2.3 查看结果集 136
11.2.4 处理错误 137
11.3 使用localStorage对象 140
11.4 本章小结 143
第12章 文件 145
12.1 了解文件系统 145
12.2 了解目录和文件 146
12.2.1 使用DirectoryEntry对象 146
12.2.2 使用FileEntry对象 151
12.2.3 使用标志 155
12.2.4 使用LocalFileSystem 156
12.3 读文件 156
12.3.1 abort 157
12.3.2 readAsDataURL 157
12.3.3 readAsText 157
12.4 写文件 158
12.5 了解文件传输 159
12.5.1 FileUploadOptions 160
12.5.2 FileUploadResult 160
12.6 处理错误 160
12.6.1 FileError 160
12.6.2 FileTransferError 161
12.7 本章小结 163
第13章 通讯录 165
13.1 学习创建通讯录 165
13.1.1 保存联系人 167
13.1.2 克隆联系人 167
13.1.3 删除联系人 167
13.2 查找联系人 168
13.3 某些怪癖 169
13.3.1 Contacts 169
13.3.2 ContactName 170
13.3.3 ContactOrganization 170
13.4 处理错误 171
13.5 本章小结 172
第14章 捕获 175
14.1 学习捕获视频 175
14.1.1 使用options参数 175
14.1.2 捕获视频时的怪癖 176
14.2 学习捕获音频 177
14.2.1 使用options参数 177
14.2.2 捕获音频时的怪癖 177
14.3 学习捕获图像 178
14.3.1 使用options参数 178
14.3.2 捕获图像时的怪癖 178
14.4 处理错误 179
14.5 本章小结 180
第15章 创建记事本应用程序 183
15.1 设计应用程序 183
15.2 建立应用程序 184
15.2.1 创建捕获选项 184
15.2.2 添加元数据 188
15.2.3 保存和同步 190
15.2.4 添加地理位置 192
15.2.5 最终代码 193
15.3 清理应用程序 196
15.4 本章小结 197
附录A 练习答案 199
附录B PhoneGap工具 223
附录C PhoneGap.js 233
附录D PhoneGap插件 327