第1章 Android操作系统概述 1
1.1 Android系统简介 1
1.2 开放手持设备联盟组织 1
1.3 Android操作系统的发展简述 2
1.4 Android系统的主要特点 5
1.5 Android系统结构 6
1.5.1 Linux内核层(Linux Kernel) 6
1.5.2 硬件抽象层 8
1.5.3 程序库 8
1.5.4 Android运行库(Android Runtime) 8
1.5.5 应用程序框架层 9
1.5.6 应用程序层 9
1.6 学习Android开发先验知识 9
1.7 Android开发者如何获利 10
1.7.1 承接项目与产品设计 10
1.7.2 在Android软件市场出售APP 11
1.7.3 广告获利 12
1.8 Android手机应用知识拓展 12
1.8.1 什么是手机Root 12
1.8.2 什么是“刷机” 12
1.9 本章小结 13
1.10 习题与课外阅读 13
1.10.1 习题 13
1.10.2 课外阅读 13
第2章 Android开发环境的搭建与使用 14
2.1 Android开发环境的搭建 14
2.2 第一个“HelloWorld”Android程序 18
2.3 Android应用程序逻辑结构 22
2.4 Android应用程序的签名 26
2.4.1 Android应用程序使用数字证书的作用 26
2.4.2 Android应用程序数字证书的使用 26
2.5 Android应用程序运行与调试 30
2.5.1 ADB的使用 30
2.5.2 DDMS介绍 33
2.6 本章小结 36
2.7 习题与课外阅读 36
2.7.1 习题 36
2.7.2 课外阅读 36
第3章 Activity及生命周期 37
3.1 Activity简介 37
3.2 Activity生命周期 38
3.3 Activity生命周期教学案例 40
3.4 Activity运行状态参数保存与恢复 44
3.5 本章小结 47
3.6 习题与课外阅读 47
3.6.1 习题 47
3.6.2 课外阅读 47
第4章 用户界面的布局管理与视图 48
4.1 布局管理器的作用 48
4.2 View和ViewGroup概述 48
4.3 线性布局 49
4.4 相对布局 51
4.5 帧布局 53
4.6 绝对布局 54
4.7 表格布局 55
4.8 列表视图 58
4.9 网格视图 61
4.10 本章小结 65
4.11 习题与课外阅读 65
4.11.1 习题 65
4.11.2 课外阅读 65
第5章 Android常见的UI控件 67
5.1 Android常见UI控件介绍 67
5.2 UI控件的学习策略 68
5.3 Button按钮 69
5.3.1 Button类的结构 69
5.3.2 Button常用的方法 69
5.3.3 Button标签的属性 69
5.3.4 Button的使用 70
5.4 ImageButton按钮 71
5.4.1 ImageButton类的结构 71
5.4.2 ImageButton常用的方法 71
5.4.3 ImageButton标签的属性 71
5.4.4 ImageButton的使用 72
5.5 Toast提示 74
5.5.1 Toast类的层次关系 74
5.5.2 Toast类常用的方法 74
5.5.3 Toast的使用实例 74
5.6 TextView文本框 76
5.6.1 TextView类的结构 76
5.6.2 TextView类的方法 77
5.6.3 TextView标签的属性 77
5.6.4 TextView的使用 79
5.7 EditText编辑框 81
5.7.1 EditText类的结构 81
5.7.2 EditText常用的方法 82
5.7.3 EditText标签的属性 82
5.7.4 EditText的使用 85
5.8 CheckBox多项选择 86
5.8.1 CheckBox类的结构 86
5.8.2 CheckBox类常用的方法 87
5.8.3 CheckBox属性 87
5.8.4 CheckBox的使用 87
5.9 RadioGroup、RadioButton单项选择 89
5.9.1 类的层次关系 89
5.9.2 RadioGroup类常用的方法 89
5.9.3 RadioButton和RadioGroup的综合使用 89
5.10 Spinner下拉列表 92
5.10.1 Spinner类的层次关系 92
5.10.2 Spinner类的主要方法 92
5.10.3 Spinner的使用示例 93
5.11 RatingBar下拉列表 94
5.11.1 RatingBar类的层次关系 94
5.11.2 RatingBar类的主要方法 95
5.11.3 RatingBar的使用示例 96
5.12 本章小结 97
5.13 习题与课外阅读 97
5.13.1 习题 97
5.13.2 课外阅读 97
第6章 Android UI线程通信 98
6.1 Android UI操作与线程 98
6.2 相关概念 99
6.3 Handler的使用 100
6.3.1 Handler处理Message队列 100
6.3.2 Handler处理Runnable队列 102
6.4 子线程和主线程的双向通信 103
6.4.1 Looper介绍 103
6.4.2 Looper使用的注意事项 104
6.5 AsyncTask异步任务类 106
6.5.1 AsyncTask简介 106
6.5.2 AsyncTask的三个参数 106
6.5.3 AsyncTask的五个回调方法 106
6.5.4 AsyncTask使用的四点注意事项 107
6.6 本章小结 108
6.7 习题与课外阅读 108
6.7.1 习题 108
6.7.2 课外阅读 108
第7章 Intent与组件通信 109
7.1 Intent简介 109
7.2 Intent的构成 110
7.3 Intent的解析 113
7.3.1 动作(Action)样例 113
7.3.2 类别(category)样例 114
7.3.3 数据(data)样例 114
7.4 Intent的使用 114
7.4.1 Intent的构造函数 114
7.4.2 常见的Intent用例 115
7.5 组件通过Intent通信方式 117
7.6 组件的点对点通信方式 118
7.6.1 显式启动Activity 118
7.6.2 隐式启动Activity 121
7.6.3 强制用户选择启动Activity 125
7.6.4 获取启动Activity的返回值 127
7.7 广播通信——组件的一对多通信方式 131
7.7.1 自定义广播消息的发送和接收 131
7.7.2 系统广播消息的接收 135
7.8 习题与课外阅读 138
7.8.1 习题 138
7.8.2 课外阅读 138
第8章 Service与后台服务 139
8.1 Service简介 139
8.2 Service与Thread的区别 140
8.3 Service的创建 140
8.4 Service的生命周期 141
8.5 Service的类别 142
8.6 Local Service的创建与启动 143
8.7 Remote Service的创建与启动 152
8.8 AIDL与跨进程服务调用 157
8.9 本章小结 161
8.10 习题与课外阅读 162
8.10.1 习题 162
8.10.2 课外阅读 162
第9章 Android文件及数据库 163
9.1 Android系统文件安全模型 163
9.2 资源文件的访问 163
9.2.1 /res/raw目录下的原始数据文件的访问 164
9.2.2 /assets目录下的原始数据文件的访问 165
9.3 Android设备内部存储文件的读写 165
9.4 Android外部存储设备文件的读写 166
9.4.1 外部存储设备检测 166
9.4.2 外部存储设备上私有文件读写 166
9.4.3 外部存储设备上公有文件读写 167
9.5 Shared Preferences文件读写 169
9.5.1 写操作 169
9.5.2 读操作 169
9.6 SQLite数据库 170
9.6.1 SQLiteOpenHelper类 170
9.6.2 SQLDatabase类 172
9.6.3 SQLite数据库管理工具 173
9.6.4 数据库综合应用示例 173
9.7 本章小结 181
9.8 习题与课外阅读 181
9.8.1 习题 181
9.8.2 课外阅读 181
第10章 ContentProvider 182
10.1 ContentProvider简介 182
10.2 ContentResolver简介 183
10.3 ContentProvider数据的URI表达 184
10.4 利用ContentProvider显示通讯录数据 185
10.5 利用ContentProvider添加通讯录数据 187
10.6 利用ContentProvider删除通讯录数据 188
10.7 利用ContentProvider更新通讯录数据 188
10.8 本章小结 196
10.9 习题与课外阅读 196
10.9.1 习题 196
10.9.2 课外阅读 196
第11章 Android传感器 197
11.1 Android系统中传感器介绍 197
11.2 Android系统中传感器信息的获取 198
11.3 Android系统中传感器数据的采集 201
11.4 加速度传感器数据的采集 202
11.5 本章小结 204
11.6 习题与课外阅读 204
11.6.1 习题 204
11.6.2 课外阅读 204
第12章 网络应用 205
12.1 网络计算模式简介 205
12.2 URL网络程序的编写 206
12.3 TCP网络编程 208
12.3.1 TCP服务器端程序编写 208
12.3.2 TCP客户端程序编写 208
12.3.3 TCP客户端和服务器端程序编写示例 208
12.4 UDP网络编程 216
12.4.1 UDP数据报文的发送 216
12.4.2 UDP数据报文的接收 217
12.4.3 UDP数据报文的发送和接收示例 217
12.5 HttpClient编程 225
12.6 WebView编程 225
12.7 Web Service编程 227
12.7.1 Web Service简介 227
12.7.2 SOAP协议 228
12.7.3 WSDL服务描述 229
12.8 Web Service服务调用程序 229
12.9 蓝牙通信与编程 231
12.9.1 蓝牙协议介绍 231
12.9.2 蓝牙设备通信流程 232
12.9.3 蓝牙通信程序的编写 233
12.10 本章小结 237
12.11 习题与课外阅读 237
12.11.1 习题 237
12.11.2 课外阅读 237
第13章 地图导航应用 238
13.1 百度Android导航SDK简介 238
13.2 开发环境配置 239
13.2.1 申请密钥 240
13.2.2 SDK开发环境配置 240
13.3 开发工作步骤 240
13.4 导航功能开发 245
13.4.1 简介 245
13.4.2 配置导航页activity 245
13.4.3 发起导航 249
13.5 本章小结 250
13.6 习题与课外阅读 250
13.6.1 习题 250
13.6.2 课外阅读 250
参考文献 251