第1章 Android开发概述 1
1.1 Android及其前景 1
1.2 Android的优势及历史发展 1
1.2.1 Android的优势 1
1.2.2 Android发行版本 2
1.3 Android系统架构 3
1.4 SL4A及脚本引擎 4
1.4.1 SL4A是什么 4
1.4.2 SL4A工作原理 4
1.4.3 脚本和脚本引擎 7
1.4.4 Android支持的脚本引擎 8
1.5 Android脚本开发环境 9
1.5.1 Java JDK 9
1.5.2 Android SDK安装 9
1.5.3 模拟器的创建和管理 10
1.5.4 SL4A与脚本引擎的安装 11
1.5.5 运行第一个Android脚本程序 11
1.5.6 脚本编辑器 13
1.6 SL4A API数据标准 13
1.7 Android辅助开发工具 14
1.7.1 DDMS 14
1.7.2 adb调试桥 15
第2章 Android JavaScript脚本基础 17
2.1 JavaScript脚本编程基础 17
2.1.1 变量 17
2.1.2 数据类型 18
2.1.3 运算符和表达式 20
2.2 JavaScript控制语句 26
2.2.1 条件语句 26
2.2.2 循环语句 29
2.3 JavaScript数组、函数和对象 33
2.3.1 数组 33
2.3.2 函数 33
2.3.3 对象 36
2.4 XML和JSON 39
2.4.1 什么是XML 39
2.4.2 XML基础 40
2.4.3 什么是JSON 41
2.4.4 JSON基础 41
2.5 Rhino引擎与Java语言 43
2.5.1 搭建Rhino开发环境 43
2.5.2 Rhino和Java类库、数组、对象和接口 44
第3章 SL4A UI API与界面开发 45
3.1 警告对话框和对话框按钮 47
3.2 请求用户输入信息和密码对话框 48
3.3 列表 49
3.4 单选和多选按钮 51
3.5 时间设置对话框 54
3.6 日期设置对话框 55
3.7 水平进度条 56
3.8 搜索进度条 57
3.9 等待完成进度条 58
第4章 Android UI布局 60
4.1 界面布局管理 60
4.2 LinearLayout布局 67
4.3 FrameLayout布局 70
4.4 AbsoluteLayout布局 72
4.5 RelativeLayout布局 72
4.6 TableLayout布局 76
第5章 Android Widget 80
5.1 TextView 80
5.2 EditText 82
5.3 Button 87
5.4 ImageButton 89
5.5 RadioButton和CheckBox 92
5.6 ToggleButton 96
5.7 DataPicker和TimePicker 98
5.8 ImageView 100
5.9 ProgressBar、SeekBar和RatingBar 102
5.10 Spinner和ListView 106
5.11 Menu 110
第6章 事件响应处理 114
6.1 事件处理模型 114
6.2 事件API 115
6.3 事件数据结构 117
6.4 事件处理 121
6.4.1 菜单事件处理 121
6.4.2 按钮事件处理 123
6.4.3 列表事件处理 126
6.4.4 键盘事件处理 128
6.4.5 其他事件处理 131
第7章 数据持久化 135
7.1 首选项 135
7.2 SQLite数据库 140
7.2.1 SQLite是什么 140
7.2.2 SQL语法 141
7.2.3 面向脚本的SQLite3框架 144
7.2.4 使用SQL操作SQLite3 145
7.3 文件持久化 146
7.3.1 JavaScript与Java文件类 146
7.3.2 文件编程过程 148
7.3.3 文件持久化编程 149
7.4 网络持久化 150
7.4.1 JavaScript与Java网络类 150
7.4.2 网络编程过程 152
7.4.3 网络持久化编程 152
第8章 Android的4个基本组件 155
8.1 意图 155
8.1.1 意图是什么 155
8.1.2 意图数据结构 156
8.1.3 构造意图及通用意图 159
8.1.4 意图的启动方式 160
8.2 活动 161
8.2.1 活动是什么 161
8.2.2 启动活动 162
8.2.3 活动返回值设置 163
8.3 广播 164
8.3.1 广播是什么 164
8.3.2 广播的注册和启动 164
8.3.3 常见系统广播 166
8.4 内容 168
8.4.1 内容是什么 168
8.4.2 内容的查询 168
8.4.3 联系人内容 169
8.4.4 系统提供的内容 170
8.5 后台服务 170
第9章 通用任务、应用管理和系统设置 172
9.1 通用任务 172
9.1.1 一维码和二维码扫描 172
9.1.2 浏览任务 175
9.1.3 联系人列表浏览 176
9.1.4 地图浏览 177
9.1.5 HTML浏览 178
9.1.6 查询任务 178
9.2 应用管理 179
9.2.1 启动应用 179
9.2.2 停止应用 180
9.2.3 应用的包列表 181
9.2.4 应用的类列表 182
9.3 唤醒锁 183
9.3.1 什么是唤醒锁 183
9.3.2 唤醒锁申请和睡眠检测 184
9.4 系统设置 187
9.4.1 声音和震动设置 187
9.4.2 屏幕设置 189
9.4.3 飞行模式设置 190
第10章 通信与传感器 192
10.1 电话通信 192
10.1.1 手机基本概念 192
10.1.2 电话API 193
10.1.3 手机开发 196
10.2 短信通信 198
10.2.1 短消息API 198
10.2.2 短消息系统开发 200
10.3 WiFi无线通信 201
10.3.1 什么是WiFi及WiFi工作过程 201
10.3.2 WiFi API 201
10.4 蓝牙无线通信 202
10.4.1 什么是蓝牙及蓝牙工作流程 202
10.4.2 蓝牙API及其应用 203
10.5 传感设备 208
10.5.1 GPS概念和API 208
10.5.2 GPS测距和定位开发 210
10.5.3 模拟器与GPS 215
10.5.4 高德地图服务 216
10.5.5 方向传感器概念和API 217
10.5.6 方向传感器物体倾斜开发 218
10.5.7 加速度传感器概念和API 219
10.5.8 加速度传感器手摇应用开发 220
10.5.9 磁力传感器概念和API 221
10.5.10 磁力传感器磁场检测开发 221
第11章 多媒体和语音处理 222
11.1 相机拍摄 222
11.1.1 视频拍摄API 222
11.1.2 在线拍摄开发 223
11.2 多媒体 225
11.2.1 多媒体简述 225
11.2.2 多媒体录制API 226
11.2.3 多媒体录制应用 228
11.2.4 多媒体播放API 229
11.2.5 多媒体播放器开发 231
11.3 语音合成和语音识别API 236
11.3.1 什么是语音合成 236
11.3.2 语音合成引擎 236
11.3.3 语音合成API及其应用 237
11.3.4 什么是语音识别 239
11.3.5 语音识别引擎 240
11.3.6 语音识别API及其应用 241
第12章 Android GUI 242
12.1 HTML和Android GUI 242
12.2 HTML基础 243
12.3 CSS基础 244
12.4 HTML和JavaScript通信 245
12.5 HTML实现Android GUI范例 250
第13章 脚本的运行方式及常见错误问题 254
13.1 APK模板发布脚本 254
13.1.1 APK模板是什么 254
13.1.2 代理模式下的模板工作时序 254
13.1.3 APK模板类及对外接口设计 257
13.1.4 APK模板应用 257
13.2 二维码发布脚本 260
13.3 SL4A管理脚本 260
13.4 Android脚本中文编码问题 261
13.5 Android环境搭建不能访问谷歌网站问题 262
13.5.1 环境搭建失败问题 262
13.5.2 Web搭建Android环境原理 262
13.5.3 环境搭建过程 263
13.6 Android网络缓存带来的问题 265
参考文献 266