第1章 HTML 5移动开发的大背景 1
1.1 HTML 5是什么 1
1.1.1 HTML 5的发展史 1
1.1.2 如何学习HTML 5 2
1.2 搭建HTML 5的移动Web开发环境 3
1.2.1 开发工具Sublime Text 3
1.2.2 浏览器Chrome或Firefox 4
1.2.3 浏览器下的移动测试环境 6
1.3 制作一个简单的HTML 5标准移动Web页面 7
1.4 检测移动设备是否支持HTML 5标签 8
1.4.1 原生的标签兼容提示 8
1.4.2 浏览器检测 9
1.4.3 特征检测 10
1.5 为什么HTML 5需要PhoneGap 10
1.6 小结 11
第2章 HTML 5的页面元素 12
2.1 从全局了解HTML 5 12
2.1.1 显示内容的交互 12
2.1.2 HTML 5页面与XHTML页面的对比 13
2.1.3 元素的使用场景和使用方法 14
2.1.4 HTML 5中的字符集 16
2.2 HTML 5表单元素的变化 16
2.2.1 新增的input元素 16
2.2.2 新增的input属性 18
2.2.3 HTML 5表单的验证方法 22
2.3 HTML 5专为移动设计的拖放 24
2.3.1 控制拖放操作 24
2.3.2 监听拖放事件 25
2.3.3 看看这些带拖放功能的网站 26
2.4 实例:构建网页的拖放应用 28
2.5 小结 30
第3章 HTML 5的移动布局 31
3.1 移动页面的样式设计利器CSS 3 31
3.1.1 个性化的字体 31
3.1.2 可重复使用的背景图 33
3.1.3 轻松实现文字效果 35
3.1.4 设计边框特效 37
3.1.5 实现文本的多列布局 40
3.1.6 转换特效 41
3.1.7 过渡特效 43
3.2 响应式Web设计 45
3.2.1 什么是响应式Web设计 45
3.2.2 流式布局 47
3.2.3 媒体查询 49
3.2.4 Twitter Bootstrap理念 52
3.2.5 将Bootstrap应用到自己的项目中 55
3.3 实例:应用媒介查询制作响应式导航栏 56
3.4 小结 59
第4章 HTML 5的地理位置定位 60
4.1 复习一下纬度和经度 60
4.2 了解Geolocation API 61
4.2.1 Geolocation提供的方法 61
4.2.2 Geolocation提供的地理数据 62
4.2.3 检测浏览器是否支持地理定位 63
4.3 使用Geolocation API 64
4.3.1 获取用户当前的地理位置 64
4.3.2 访问地理位置的安全问题 65
4.4 实例1:手机地理定位 67
4.5 实例2:使用谷歌地图查找路线 70
4.6 小结 79
第5章 HTML 5的Web Workers 80
5.1 认识Web Workers 80
5.1.1 Web Workers的应用场合 80
5.1.2 与HTML 5 Web Workers通信 81
5.1.3 多个JavaScript文件的加载 82
5.1.4 终止Web Workers的监听操作 82
5.1.5 利用Web Workers创建一个简单的页面计数器 82
5.2 实战Web Workers 84
5.2.1 实例1:大数量的图片处理 84
5.2.2 实例2:实现微博消息的实时推送 87
5.2.3 实例3:预览网页的内容 91
5.2.4 实例4:定时给网站用户发消息 96
5.3 小结 103
第6章 HTML 5的Web存储 104
6.1 认识HTML 5的Web Storage 104
6.1.1 为什么使用Web Storage 104
6.1.2 Web的存储方式:LocalStorage与SessionStorage 105
6.1.3 Web Storage如何获取和保存数据 107
6.2 网站本地存储兼容性方案 108
6.3 如何在实际开发中使用本地存储 114
6.4 实例1:保存与读取登录用户名与密码 115
6.5 实例2:共享存储数据 118
6.6 小结 121
第7章 HTML 5的多媒体 122
7.1 视频的进化 122
7.1.1 常见的视频格式 122
7.1.2 传统的网页视频与HTML 5视频 123
7.2 HTML 5中的音频 124
7.3 使用JavaScript控制播放 124
7.4 audio标签和video标签的浏览器支持情况 125
7.5 音视频的实时通信 126
7.6 打造自己的音频播放器 128
7.7 打造自己的视频播放器 131
7.8 小结 135
第8章 PhoneGap入门 136
8.1 走近PhoneGap 136
8.1.1 PhoneGap的发展历史 136
8.1.2 PhoneGap的特色 138
8.2 搭建PhoneGap的开发环境 140
8.2.1 安装NodeJS 141
8.2.2 安装PhoneGap 142
8.2.3 安装PhoneGap Desktop APP进行测试 144
8.3 创建第一个PhoneGap APP 146
8.4 PhoneGap Desktop APP常见的几个错误 151
8.5 PhoneGap你要知道的知识 152
8.5.1 编辑工具的选择 152
8.5.2 PhoneGap中有哪些API 153
8.5.3 使用云在线编译PhoneGap 154
8.6 在PhoneGap中调试HTML 5程序 155
8.7 小结 156
第9章 PhoneGap的事件处理 157
9.1 程序也有生命周期 157
9.1.1 程序对生命周期的定义 157
9.1.2 PhoneGap的生命周期 159
9.2 事件实战 160
9.2.1 使用程序加载事件 161
9.2.2 使用被动消息事件 163
9.2.3 使用主动消息事件 165
9.3 PhoneGap中文乱码的解决方案 167
9.4 小结 168
第10章 PhoneGap对信息的处理 169
10.1 使用PhoneGap获取移动设备信息 169
10.2 PhoneGap程序运行慢的解决方案 170
10.3 实例:用PhoneGap制作查看设备的应用 172
10.3.1 APP的界面设计 172
10.3.2 APP的功能实现 174
10.4 通讯录信息的获取 177
10.4.1 创建一个联系人 177
10.4.2 查找通讯录 178
10.4.3 联系人包括哪些属性 180
10.4.4 联系人的各种编辑操作 183
10.4.5 复杂的联系人属性ContactField 185
10.5 PhoneGap的消息提示 188
10.5.1 notification警告的使用 188
10.5.2 确认对话框的使用 190
10.5.3 显示可以传递参数的对话框 192
10.5.4 控制蜂鸣器和震动 194
10.6 小结 195
第11章 加速度、地理位置和指南针 196
11.1 认识加速度传感器 196
11.1.1 获取当前的加速度 196
11.1.2 监视设备的加速度 198
11.1.3 详解“加速度传感器”对象 201
11.2 加速度传感器的使用场景 201
11.3 地理位置的使用 202
11.3.1 获取手机地理信息 203
11.3.2 获取当前所在坐标 203
11.3.3 监控手机的位置变化 206
11.4 指南针 209
11.4.1 获取手机的方向 209
11.4.2 监视手机方向的两种方法 212
11.5 实例:手机“摇一摇”出大奖 214
11.5.1 原形设计 214
11.5.2 素材准备 214
11.5.3 动画实现 215
11.5.4 最终实现 219
11.6 如果默认没有安装Geolocation怎么办 223
11.7 小结 224
第12章 PhoneGap中的多媒体控制 225
12.1 音频的处理 225
12.1.1 利用PhoneGap播放网络音乐音频 225
12.1.2 为播放音乐设置暂停功能 227
12.1.3 为播放音乐设置停止功能 229
12.1.4 获取音频文件的更多信息 230
12.1.5 播放指定位置的音乐 233
12.1.6 使用PhoneGap录制声音 236
12.1.7 资源有限时释放音频资源 238
12.2 使用Capture来采集声音 238
12.3 使用Capture采集图像信息 241
12.4 使用采集视频信息 245
12.5 实战:手机上的录音机 247
12.5.1 需求分析 247
12.5.2 界面实现 248
12.5.3 界面交互的实现 253
12.5.4 录音和播放功能的实现 256
12.5.5 完整的案例呈现 258
12.6 小结 260
第13章 PhoneGap的本地存储 261
13.1 手机上可以使用的本地存储 261
13.1.1 HTML 5中的本地存储 261
13.1.2 PhoneGap中的本地存储功能 264
13.2 PhoneGap对数据库的操作 265
13.2.1 数据库的使用 265
13.2.2 数据库内容的读取 269
13.3 键值对的使用方法 272
13.4 小结 275
第14章 一个简单的“今日头条”新闻APP 276
14.1 “今日头条”的功能 276
14.2 “今日头条”的界面设计和实现 276
14.2.1 新闻列表界面的设计 277
14.2.2 新闻内容页的实现 280
14.2.3 界面的进一步整合 284
14.3 利用Ajax获取服务器上的信息 286
14.3.1 使用Ajax获取JSON数据 286
14.3.2 使用JavaScript跨域解决方案 288
14.3.3 “今日头条”服务端的实现 290
14.4 让数据显示出来 294
14.4.1 新闻列表的显示 294
14.4.2 新闻内容的显示 296
14.4.3 项目的最终实现 297
14.5 小结 301
第15章 HTML 5+PhoneGap实现通讯录APP 302
15.1 项目介绍 302
15.2 为PhoneGap编写插件 303
15.2.1 实现发短信的插件 304
15.2.2 为PhoneGap编写电话拨号插件 308
15.3 通讯录APP的界面设计 310
15.4 通讯录APP的界面实现 312
15.4.1 联系人列表 312
15.4.2 新建联系人界面 314
15.4.3 短信编辑界面 316
15.5 界面功能的实现 317
15.5.1 联系人数据的生成 317
15.5.2 页面的整合 323
15.6 通讯录APP最终功能的实现 328
15.7 小结 331
附录 安卓开发环境的搭建 332