第1章 Android概述 1
1.1 Android的发展史 1
1.1.1 Android的起源 1
1.1.2 当前的主流移动操作系统 2
1.1.3 Android的版本 3
1.2 Android系统的特性 5
1.3 Android系统架构 7
1.3.1 Android应用层 8
1.3.2 Android应用框架层 8
1.3.3 Android核心库 9
1.3.4 Android运行时 10
1.3.5 Linux内核层 11
1.4 Android环境搭建 11
1.4.1 Java开发环境安装与配置 11
1.4.2 安装Android开发环境 12
习题1 18
第2章 开发工具介绍及项目结构 19
2.1 Android开发工具介绍 19
2.1.1 adb 19
2.1.2 AVD 20
2.1.3 DDMS 22
2.2 创建第一个Android项目 25
2.2.1 如何创建Android项目 26
2.2.2 Android项目结构 30
2.2.3 案例程序分析 31
2.2.4 Android的应用程序组件 35
习题2 37
第3章 Android UI编程 38
3.1 Android常用UI组件 38
3.1.1 View和ViewGroup 38
3.1.2 Android UI开发概述 40
3.1.3 文本框与编辑框 41
3.1.4 按钮与图片视图 47
3.1.5 案例ImageView和ImageButton 48
3.1.6 案例CheckBox、RadioButton和ToggleButton 52
3.2 Android常用布局 60
3.2.1 线性布局 61
3.2.2 相对布局 63
3.2.3 表格布局 68
3.2.4 帧布局 71
3.2.5 网格布局 72
3.2.6 绝对布局 74
习题3 75
第4章 Android活动简介 76
4.1 Activity的创建与注册 76
4.1.1 Activity的创建 76
4.1.2 Activity的注册 78
4.2 Activity的生命周期 79
4.3 Activity的启动 81
4.3.1 直接启动Activity 81
4.3.2 启动Activity并传递参数 82
4.3.3 带返回值启动Activity 83
4.4 Activity的启动模式 84
4.5 案例lifecycle 87
4.5.1 案例功能描述 87
4.5.2 案例程序结构 87
4.5.3 案例的实现步骤和思路 87
4.5.4 案例参考代码 88
4.5.5 案例运行效果 97
4.5.6 案例程序分析 98
习题4 101
第5章 Android高级UI编程 102
5.1 Adapter简介 102
5.1.1 ArrayAdapter简介 103
5.1.2 案例ArrayAdapter 103
5.1.3 SimpleAdapter简介 105
5.1.4 案例SimpleAdapter 106
5.2 ListView列表控件的功能及使用 109
5.2.1 ListView常用属性 109
5.2.2 案例ListView具体使用 111
5.2.3 响应单击事件 117
5.3 GridView网格控件的功能及使用 118
5.3.1 GridView常用属性 118
5.3.2 案例GridView具体使用 118
5.4 Spinner的功能及使用 122
5.4.1 案例功能描述 122
5.4.2 案例程序结构 122
5.4.3 案例的实现步骤和思路 122
5.4.4 案例参考代码 122
5.4.5 案例运行效果 124
5.5 菜单Menu 125
5.5.1 使用xml定义Menu 125
5.5.2 使用代码定义Menu 126
5.5.3 使用菜单 127
5.6 案例菜单Menu 127
5.6.1 案例功能描述 127
5.6.2 案例程序结构 127
5.6.3 案例的实现步骤和思路 127
5.6.4 案例参考代码 128
5.6.5 案例运行效果 130
5.7 对话框Dialog 130
5.7.1 简单对话框 131
5.7.2 多按钮对话框 131
5.7.3 列表对话框 133
5.7.4 单选列表对话框 134
5.7.5 复选列表对话框 135
5.7.6 自定义对话框 136
5.7.7 进度对话框 137
5.7.8 自定义进度对话框 138
5.8 用Fragment分割用户界面 139
5.8.1 Fragment的生命周期 139
5.8.2 设计基于Fragment的应用 140
5.8.3 Android支持包 148
习题5 149
第6章 Android多媒体 151
6.1 Android的图形绘制 151
6.1.1 Canvas 151
6.1.2 Paint 153
6.1.3 温度计绘图案例 155
6.1.4 Bitmap 159
6.1.5 Matrix 161
6.1.6 图片缩放功能案例 161
6.2 Android多媒体基础 164
6.2.1 基本类 164
6.2.2 权限声明 164
6.2.3 Android多媒体核心OpenCore 165
6.2.4 MediaPlayer类 166
6.3 音频播放 168
6.3.1 播放本地资源 168
6.3.2 播放内部资源 168
6.3.3 播放网络资源 169
6.4 简单音乐播放器案例 170
6.4.1 案例功能描述 170
6.4.2 案例程序结构 170
6.4.3 案例的实现步骤和思路 170
6.4.4 案例参考代码 171
6.4.5 案例运行效果 176
6.5 视频播放 176
6.5.1 使用MediaPlayer和SurfaceView播放视频 176
6.5.2 使用MediaPlayer和SurfaceView播放视频案例 177
6.5.3 使用VideoView播放视频 182
6.6 实现拍照功能 183
6.6.1 使用系统自带的拍照应用程序 183
6.6.2 自行开发拍照功能 184
6.6.3 Camera类使用案例 184
6.7 Android动画设计 189
6.7.1 Android中的逐帧动画 189
6.7.2 逐帧动画演示案例 189
6.7.3 Android中的补间动画 192
6.7.4 补间动画演示案例 194
6.7.5 动画监听事件 198
习题6 199
第7章 Android传感器 200
7.1 传感器的分类 200
7.1.1 移动传感器 200
7.1.2 位置传感器 201
7.1.3 环境传感器 201
7.2 获取传感器事件 203
7.3 传感器坐标系统 206
7.4 详解各种传感器 206
7.4.1 加速度计 206
7.4.2 重力传感器 208
7.4.3 陀螺仪 209
7.4.4 线性加速度 209
7.4.5 方向传感器 209
7.4.6 地磁场传感器 211
7.4.7 距离传感器 212
习题7 213
第8章 Android服务简介 214
8.1 Service的创建及配置 214
8.2 Service的分类及生命周期 215
8.2.1 Service分类 215
8.2.2 Service生命周期 215
8.3 启动和停止Service 217
8.3.1 本地Service 217
8.3.2 绑定本地Service 218
8.3.3 Service案例 218
习题8 223
第9章 Android广播简介 224
9.1 Android广播机制 224
9.2 收发广播 224
9.2.1 发送广播 224
9.2.2 接收广播 225
9.2.3 BroadcastReceiver(广播接收者)注册分类 225
9.2.4 静态注册广播案例 226
9.2.5 动态注册广播案例 228
9.3 系统自带的广播 231
9.4 广播分类 232
9.4.1 正常广播 232
9.4.2 有序广播 232
9.4.3 黏滞广播 232
习题9 233
第10章 Android的数据持久化 234
10.1 SharedPreferences 234
10.1.1 获取SharedPreferences对象 234
10.1.2 保存SharedPreferences 235
10.1.3 读取SharedPreferences 235
10.1.4 SharedPreferences案例 235
10.2 文件存储 236
10.2.1 内部存储 237
10.2.2 外部存储 237
10.2.3 文件存储案例 238
10.3 SQLite数据库存储 242
10.3.1 SQLite简介 242
10.3.2 SQLiteOpener 243
10.3.3 数据库操作 243
10.3.4 SQLite案例 244
10.4 ContentProvider 250
10.4.1 ContentProvider简介 250
10.4.2 访问手机数据信息 250
10.4.3 ContentProvider案例 251
习题10 260
第11章 Android网络编程 262
11.1 URL统一资源定位符 262
11.2 使用URLConnection接口 262
11.3 案例URLConnection 263
11.3.1 案例功能描述 263
11.3.2 案例程序结构 263
11.3.3 案例的实现步骤和思路 263
11.3.4 案例参考代码 263
11.3.5 案例运行效果 265
11.4 使用HttpClient接口 266
11.5 案例HttpClient接口 266
11.5.1 案例功能描述 266
11.5.2 案例程序结构 266
11.5.3 案例的实现步骤和思路 267
11.5.4 案例参考代码 267
11.5.5 案例运行效果 282
习题11 282
第12章 Android管理器 283
12.1 电话管理器 283
12.2 案例TelephonyManager 283
12.2.1 案例功能描述 283
12.2.2 案例程序结构 283
12.2.3 案例的实现步骤和思路 283
12.2.4 案例参考代码 284
12.2.5 案例运行效果 286
12.3 短信管理器 287
12.4 案例SmsManager 287
12.4.1 案例功能描述 287
12.4.2 案例程序结构 287
12.4.3 案例的实现步骤和思路 287
12.4.4 案例参考代码 288
12.4.5 案例运行效果 290
习题12 290
第13章 LBS定位服务 291
13.1 LBS简介 291
13.2 LBS服务模式 292
13.2.1 社交网络和游戏模式 292
13.2.2 生活信息服务模式 293
13.2.3 电子商务模式 293
13.3 获取位置信息 294
13.4 百度地图使用案例 294
13.4.1 案例概述 294
13.4.2 案例分析 295
13.4.3 案例实现 295
习题13 305
第14章 综合项目之手机监控 306
14.1 项目功能需求分析 306
14.2 应用程序结构设计 307
14.3 应用程序界面设计 308
14.3.1 欢迎界面布局设计 308
14.3.2 主功能界面布局设计 309
14.3.3 ListView列表项Item布局 312
14.4 Activity类设计 313
14.4.1 欢迎界面Activity 313
14.4.2 主功能界面Activity 316
14.5 应用程序主要功能逻辑设计 322
14.5.1 服务类SMSService 322
14.5.2 获取定位信息类MyLocationListener 329
14.6 工具类设计 330
14.6.1 缓存类AppContext 330
14.6.2 动作工具类ActionUtils 331
习题14 333
参考文献 334