第1章 初识Android开发平台 1
1.1 Android平台简介 1
1.1.1 初识Android 1
1.1.2 Android飞速发展史 1
1.1.3 Android主要应用 2
1.2 Android平台架构 3
1.2.1 Android平台的特点 3
1.2.2 架构内容 4
1.3 Android应用程序内容 5
1.3.1 Activity 6
1.3.2 Service 6
1.3.3 BroadcastReceiver 6
1.3.4 ContentProvider 6
1.3.5 View 7
1.3.6 Intent 7
本章小结 7
习题 7
第2章 Android编程开发起步 8
2.1 Android SDK的开发环境 8
2.1.1 Android SDK的结构 8
2.1.2 Android SDK的环境安装 9
2.1.3 Android中运行仿真器环境 18
2.2 创建Android的第一个应用 23
2.2.1 创建一个Android应用项目 23
2.2.2 查看和编辑各个文件 28
2.2.3 运行Android的第一个应用 28
本章小结 31
习题 32
第3章 Android应用程序的构成 33
3.1 Android应用程序目录结构 33
3.1.1 src文件夹 34
3.1.2 gen文件夹 35
3.1.3 Android 4.3文件夹 35
3.1.4 assets文件夹 36
3.1.5 res文件夹 37
3.1.6 AndroidManifest.xml文件 37
3.2 使用Android资源 38
3.2.1 资源的存储 38
3.2.2 资源的种类 38
3.2.3 资源文件的命名 39
3.2.4 资源使用示例 39
3.3 Android基本组件 41
3.3.1 Activity类 41
3.3.2 Service类 42
3.3.3 BroadcastReceiver类 43
3.3.4 ContentProvider类 43
3.4 AndroidManifest.xml文件 44
3.4.1 AndroidManifest.xml文件的主要功能 44
3.4.2 AndroidManifest.xml文件的结构及元素 45
3.4.3 AndroidManifest文件主要元素与标签 46
本章小结 51
习题 51
第4章 Android应用程序的控制机制 52
4.1 Android应用程序的界面 52
4.2 Android应用程序的任务、进程和线程 52
4.2.1 任务 53
4.2.2 进程 54
4.2.3 线程 56
4.3 Android组件间的通信 61
4.3.1 Intent作用 61
4.3.2 Intent的构成 61
4.3.3 Intent解析 64
4.3.4 Intent使用案例 65
4.4 用户界面状态保存 68
4.4.1 使用SharedPreferences对象 68
4.4.2 使用Bundle对象 68
4.4.3 SharedPreferences与Bundle的区别 68
本章小结 68
习题 69
第5章 用户界面编程与设计 70
5.1 高级用户界面设计 70
5.1.1 用户界面组件结构层次 70
5.1.2 用户界面组件的定义 70
5.2 布局组件 73
5.2.1 布局的角色 73
5.2.2 线性布局管理器LinearLayout 73
5.2.3 表格布局管理器TableLayout 74
5.2.4 相对布局管理器RelativeLayout 75
5.2.5 绝对布局管理器AbsoluteLayout 76
5.2.6 框架布局管理器FrameLayout 76
5.3 布局的选择 76
5.3.1 底层用户界面设计 77
5.3.2 底层视图绘制 77
5.3.3 表面视图SurfaceView 77
5.3.4 表面视图SurfaceView的实现 78
5.3.5 OpenGL视图绘制 81
5.3.6 Android平台对OpenGL ES的支持 81
5.3.7 Android平台中的OpenGL ES使用说明 81
5.3.8 视频视图 82
本章小结 82
习题 82
第6章 Android基本控件编程 83
6.1 文本控件 83
6.1.1 TextView类简介 83
6.1.2 EditText类简介 86
6.2 按钮控件 88
6.2.1 Button类简介 88
6.2.2 ImageButton类简介 90
6.2.3 ToggleButton类简介 90
6.3 单选按钮和复选框控件 92
6.3.1 CheckBox类简介 92
6.3.2 RadioButton类简介 94
6.4 图片控件 97
6.4.1 ImageView类简介 97
6.4.2 ImageView语法格式 97
6.5 时钟控件 99
6.6 日期与时间选择控件 100
6.6.1 DataPicker类简介 100
6.6.2 TimePicker类简介 101
本章小结 105
习题 105
第7章 Android高级控件编程 106
7.1 自动完成文本框 106
7.1.1 AutoCompleteTextView类简介 106
7.1.2 自动完成文本使用案例 107
7.2 滚动视图与ScrollView类 109
7.2.1 ScrollView类简介 109
7.2.2 ScrollView类使用注意事项 109
7.3 网格视图与GridView类 109
7.3.1 GridView类简介 109
7.3.2 ScrollView类使用 110
7.4 列表视图 110
7.4.1 ListView类简介 110
7.4.2 使用SimpleAdapter适配器 111
7.4.3 列表视图使用案例 112
7.5 滑块和进度条 117
7.5.1 ProgressBar类简介 117
7.5.2 SeekBar类简介 117
7.5.3 RatingBar类简介 117
7.5.4 滑块和进度条案例 117
7.6 选项与TabHost类 119
7.7 下拉列表Spinner类控件 119
7.7.1 Spinner类概述 119
7.7.2 实现Spinner需要的5个步骤 120
本章小结 123
习题 123
第8章 菜单和对话框编程 124
8.1 Android菜单 124
8.1.1 创建普通的菜单 124
8.1.2 使用菜单组 125
8.2 响应菜单项 125
8.2.1 通过onOptionsItemSelected方法 125
8.2.2 使用监听器 126
8.2.3 使用Intent响应菜单 127
8.3 使用其他菜单类型 127
8.3.1 动态菜单 127
8.3.2 图标菜单 127
8.3.3 使用子菜单 128
8.3.4 使用上下文菜单 128
8.3.5 使用交替菜单 130
8.3.6 用XML文件方式创建菜单 131
8.4 Android对话框 131
8.4.1 弹出对话框简介 131
8.4.2 普通对话框 132
8.4.3 列表对话框 135
8.4.4 单选列表对话框 138
8.4.5 复选项对话框 140
8.4.6 日期及时间选择对话框 144
8.5 消息提示 148
8.5.1 Toast通知 148
8.5.2 状态栏通知 150
本章小结 153
习题 153
第9章 Android事件处理模型及编程 155
9.1 基于回调机制的事件处理 155
9.1.1 onKeyDown方法 155
9.1.2 onKeyUp方法 156
9.1.3 onTouchEvent方法 156
9.1.4 onTrackBallEvent方法 159
9.1.5 onFocusChanged方法 160
9.2 基于监听接口的事件处理 161
9.2.1 Android的事件处理模型 161
9.2.2 OnClickListener接口 162
9.2.3 OnLongClickListener接口 162
9.2.4 OnFocusChangeListener接口 163
9.2.5 OnKeyListener接口 163
9.2.6 OnTouchListener接口 163
9.2.7 OnCreateContextMenuListener接口 163
9.3 Handle消息传递机制 164
9.3.1 Handler类 164
9.3.2 Handle使用案例 165
本章小结 166
习题 166
第10章 Android触摸屏编程 167
10.1 MotionEvent类 167
10.1.1 MotionEvent对象 167
10.1.2 getAction()与getActionMasked()方法的区别 168
10.1.3 使用VelocityTracker 169
10.1.4 VelocityTracker类 169
10.2 多点触摸 170
10.2.1 双指拉伸式缩放功能的实现 173
10.2.2 单指旋转式缩放功能的实现 173
10.3 手势 176
10.3.1 GestureDetector简介 176
10.3.2 OnGestureListener简介 177
本章小结 178
习题 178
第11章 地图和基于位置服务的编程 179
11.1 使用基于位置的服务 179
11.2 使用TestProvider构建模拟器 179
11.2.1 更新模拟位置提供器中的位置 180
11.2.2 创建一个应用程序来管理TestLocationProvider 180
11.3 选择一个LocationProvider 183
11.3.1 查找可用的提供器 183
11.3.2 根据要求标准查找提供器 183
11.4 确定自己所在的位置 184
11.4.1 追踪移动 185
11.4.2 WhereAmI示例 185
11.5 使用邻近提醒 187
11.5.1 创建一个应用程序使用邻近提醒 188
11.6 地理编码 190
11.6.1 反向地理编码 190
11.6.2 前向地理编码 191
11.6.3 创建一个应用程序进行地址编码 191
11.7 创建基于地图的活动 193
11.7.1 MapView和MapActivity简介 193
11.7.2 创建一个基于地图的活动 193
11.7.3 配置和使用MapView 195
11.7.4 使用MapController 195
11.8 MyLocationOverlay简介 196
11.8.1 ItemizedOverlay和OverlayItem简介 196
11.8.2 地图上固定View 198
11.8.3 创建一个基于地图的程序并显示当前位置 199
本章小结 202
习题 202
第12章 Android手机基本功能编程 203
12.1 发送短信和接收短信 203
12.2 电话控制 207
12.2.1 拨打电话 207
12.2.2 监听电话的状态 209
12.3 E-mail功能的开发 212
12.4 手机特有功能开发 213
12.4.1 系统设置更改特性 213
12.4.2 振动设置 216
12.4.3 音量设置 219
12.4.4 TelephonyManager的使用 223
12.5 获取手机电池电量 227
12.5.1 原理概述 227
12.5.2 电量提示实例 228
本章小结 230
习题 230
第13章 Android多媒体应用编程 231
13.1 2D、3D图形 231
13.1.1 2D图形相关类 231
13.1.2 绘制2D图形案例 233
13.1.3 3D图形 235
13.1.4 3D图形基本绘制 236
13.2 动画播放 238
13.2.1 帧动画 238
13.2.2 补间动画 242
13.3 音频与视频播放 252
13.3.1 音频 252
13.3.2 播放视频 253
本章小结 257
习题 257
第14章 BabySleep媒体分享系统设计与实现 258
14.1 BabySleep的需求 258
14.1.1 用户需求 258
14.1.2 功能需求 258
14.1.3 界面需求 258
14.2 BabySleep的系统设计 259
14.2.1 BabySleep的程序结构 260
14.2.2 BabySleep系统业务流程图 260
14.2.3 UI设计 260
14.2.4 样式和主题资源 261
14.2.5 界面布局 262
14.2.6 资源文件 268
14.3 BabySleep各功能模块的设计与实现 269
14.3.1 登录界面设计与实现 269
14.3.2 主界面设计与实现 276
14.3.3 成长资料库模块设计与实现 277
14.3.4 趣味图片模块的设计与实现 277
14.3.5 视频资料模块的设计与实现 282
14.4 睡眠模式模块设计与实现 284
14.4.1 数据模型公共类 284
14.4.2 SongDbHelper.java类 285
14.4.3 SongService.java类 287
14.4.4 睡眠模式布局界面 291
14.4.5 睡眠模式模块功能实现 291
14.4.6 自定义模块设计与实现 295
14.4.7 系统管理模块设计与实现 299
14.4.8 账号管理模块设计与实现 300
14.4.9 退出 300
14.5 BabySleep软件测试与评估 301
14.5.1 软件测试的目的 301
14.5.2 软件测试步骤 301
14.5.3 测试具体实现 301
本章小结 306
习题 306
第15章 动态路由仿真系统设计与实现 307
15.1 系统原理与实现方式 307
15.1.1 教学系统的运用 307
15.1.2 交互式教学的需求分析 307
15.1.3 环境搭建 308
15.1.4 系统实现 309
15.2 交互式教学软件设计实现方案 309
15.2.1 总体设计 309
15.2.2 分部设计实现方案 310
15.2.3 数据模型设计与存储方案 318
15.3 交互式教学软件具体实现 321
15.3.1 系统主界面 321
15.3.2 原理学习界面 324
15.4 实践仿真页面 328
15.4.1 路由器仿真页面 333
15.4.2 网络拓扑图仿真页面 334
15.5 交互式教学软件测试 340
本章小结 341
习题 342
参考文献 343