第1章 Android概述 1
1.1 智能手机操作系统简介 1
1.2 Android的基本概念 2
1.2.1 Android的前世 2
1.2.2 Android的优点 3
1.3 Android系统架构 3
1.4 本章小结 5
第2章 搭建Android开发环境 6
2.1 开发前的准备工作 6
2.2 搭建开发环境 6
1.2.1 Android SDK的安装 7
1.2.2 Eclipse和ADT安装 8
2.2.3 创建和启动AVD(Android Virtual Device) 10
2.3 构建Android应用程序 14
2.3.1 使用Eclipse创建Android应用程序 14
2.3.2 运行Android应用程序 16
2.3.3 通过DDMS调试Android应用程序 18
2.4 本章小结 19
第3章 Android应用程序剖析 20
3.1 Android应用程序目录结构 20
3.1.1 gen/目录下的R.java文件详解 23
3.1.2 组件标识符 24
3.1.3 AndroidMainfest.xml详细介绍 25
3.2 Android应用程序的执行流程 29
3.3 Android应用程序的基本组件 30
3.3.1 Activity 31
3.3.2 Service 32
3.3.3 BroadcastReceiver 33
3.3.4 ContentProvider 33
3.3.5 Intent和IntentFileter 33
3.4 本章小结 34
第4章 界面布局 35
4.1 UI概述 35
4.2 线性布局 35
4.3 相对布局 38
4.4 绝对布局 41
4.5 表格布局 43
4.6 本章小结 45
第5章 事件处理及Widget组件 46
5.1 基本Widget组件 46
5.1.1 文本框(TextView)和编辑框(EditText) 46
5.1.2 Button(按钮)和ImageButton(图片按钮) 49
5.1.3 单选框(RadioButton)和复选框(ChekBox) 51
5.1.4 AnalogClock和DigitalClock 53
5.2 高级Widget组件 54
5.2.1 ListView(列表视图) 54
5.2.2 Spinner(下拉列表) 59
5.2.3 ProgressBar(进度条) 63
5.2.4 SeekBar(拖动条) 66
5.2.5 DatePicker(日期选择器)和TimePicker(时间选择器) 68
5.3 对话框 72
5.3.1 提示对话框 72
5.3.2 多选对话框 73
5.3.3 内容输入对话框 74
5.3.4 单选对话框 74
5.3.5 复选对话框 75
5.3.6 列表对话框 75
5.4 消息提示 76
5.5 事件处理机制 78
5.5.1 基于监听的事件处理 78
5.5.2 基于回调机制的事件处理 84
5.5.3 Handler 86
5.6 本章小结 88
第6章 Android的门面——Activity 89
6.1 Activity生命周期 89
6.2 Activity管理栈 93
6.3 创建、配置和使用Activity 94
6.3.1 创建Activity 94
6.3.2 配置Activity 96
6.3.3 启动关闭Activity 97
6.3.4 需要传递参数的Activity启动 100
6.3.5 启动其他Activity并返回结果 104
6.4 启动模式 108
6.5 本章小结 110
第7章 Android的邮递员——Intent 111
7.1 Intent概述 111
7.1.1 Intent属性 111
7.1.2 Intent解析 113
7.2 Intent Filter 113
7.2.1 动作检测 114
7.2.2 种类检测 114
7.2.3 数据检测 115
7.2.4 通用情况 116
7.2.5 使用intent匹配 117
7.3 Intent的调用 117
7.3.1 显式调用 117
7.3.2 隐式调用 118
7.3.3 在Intent中传递数据 121
7.3.4 在Intent中传递复杂对象 125
7.3.5 实现Activity之间的协同 130
7.4 常用Intent组件的使用 134
7.5 本章小结 137
第8章 Android的隐形管理员——Service 138
8.1 Service概述 138
8.2 Service的生命周期 138
8.2.1 startService启动服务 140
8.2.2 bindSerivce启动服务 142
8.3 Service的使用方法 144
8.3.1 编写不需和Activity交互的本地服务 144
8.3.2 编写本地服务和Activity交互 145
8.3.3 编写传递基本型数据的远程服务 149
8.3.4 编写传递复杂数据类型的远程服务 154
8.4 IntentService 162
8.5 本章小结 167
第9章 Android的接收员——BroadcastReceiver 168
9.1 BroadcastReceiver概述 168
9.2 广播消息 169
9.2.1 自定义BroadcastReceiver 169
9.2.2 普通广播 172
9.2.3 有序广播 177
9.3 处理系统广播消息 180
9.4 BroadcastReceiver的生命周期 186
9.5 本章小结 186
第10章 Android的数据存储 187
10.1 数据存储概述 187
10.2 SharedPreferences 187
10.2.1 使用SharedPreferences 187
10.2.2 PreferenceActivity 193
10.3 文件 199
10.3.1 应用程序文件读写 200
10.3.2 操作资源文件 203
10.3.3 操作SD卡上的文件 204
10.4 数据库 211
10.4.1 SQLite简介 212
10.4.2 使用SQLite数据库 216
10.5 本章小结 225
第11章 Android的图书馆——ContentProvider 226
11.1 ContentProvider概述 226
11.2 自定义ContentProvider 229
11.3 系统ContentProvider 236
11.3.1 使用Contacts Contract Content Provider 237
11.3.2 读取短信 243
11.4 本章小结 247
第12章 Android多媒体应用开发 248
12.1 音频录制 248
12.1.1 使用Intent录制音频 248
12.1.2 使用MediaRecorder录制音频 250
12.2 音频播放 255
12.2.1 常见的音频格式 256
12.2.2 使用Intent播放音频 256
12.2.3 使用MediaPlayer播放音频 257
12.3 视频录制 260
12.3.1 使用Intent录制视频 261
12.3.2 使用MediaRecorder录制视频 263
12.4 视频播放 269
12.4.1 常见的视频格式 269
12.4.2 使用Intent播放视频 269
12.4.3 使用VideoView播放视频 270
12.4.4 使用MediaPlayer播放视频 272
12.5 本章小结 276
第13章 Android的网络编程 277
13.1 Android网络编程基础 277
13.2 基于HTTP协议的网络编程 278
13.2.1 HTTP介绍 278
13.2.2 使用HttpURLConnection访问网络 279
13.2.3 使用HttpClient访问网络 286
13.3 基于Socket的网络编程 292
13.3.1 套接字Socket 293
13.3.2 Socket编程 293
13.4 基于WebView的简单浏览器 296
13.5 本章小结 302
第14章 定位服务和地图服务 303
14.1 定位服务相关类 303
14.2 定位实例 305
14.3 Google Map使用 308
14.3.1 申请MapAPI KEY 308
14.3.2 开发和测试环境搭建 311
14.4 地图定位 315
14.5 本章小结 317
第15章 移动同学簿 318
15.1 系统概述 318
15.1.1 移动同学簿的应用背景 318
15.1.2 移动同学簿的总体需求 318
15.1.3 移动同学簿的功能分析 319
15.1.4 移动同学簿的设计思路 319
15.2 系统功能模块设计 319
15.3 系统数据分析与设计 320
15.4 物理网站的设计与实现 321
15.5 Android移动端的设计与实现 328
15.5.1 手机端软件结构 328
15.5.2 移动端数据的创建与初始化 329
15.5.3 首页模块的设计与实现 334
15.5.4 信息列表展示页的设计与实现 356
15.5.5 搜索页面的设计及实现 358
15.5.6 个人详细信息页的设计与实现 360
15.5.7 删除功能的设计与实现 373
15.6 本章小结 374