第一篇 基础篇 2
第1章 Android概述 2
1.1 Android的前世今生 3
1.1.1 Android的产生 3
1.1.2 Android的发展 3
1.2 Android的平台架构及特性 4
1.2.1 Android平台特性 5
1.2.2 Android平台架构 5
1.3 Android Market 7
1.4 Android应用程序组件 8
1.4.1 Activity 9
1.4.2 Service 9
1.4.3 Broadcast Receiver 9
1.4.4 ContentProvider 9
1.4.5 View 10
1.4.6 Intent 10
1.5 Android与Java ME的区别与联系 10
1.5.1 二者的区别 10
1.5.2 二者的联系 10
1.5.3 各自的优势 11
第2章 Android开发基础 12
2.1 Android开发环境的搭建 12
2.1.1 下载Android SDK 13
2.1.2 下载安装JDK 15
2.1.3 下载Eclipse 16
2.1.4 下载安装ADT 16
2.2 Android常用工具的使用 18
2.2.1 创建Android Virtual Devices(AVD) 18
2.2.2 模拟器(Emulator)的使用 20
2.2.3 Android Debug Bridge(ADB)的使用 20
2.2.4 Dalvik Debug Monitor Service(DDMS)的使用 21
2.2.5 Android Asset Packaging Tool(AAPT)的使用 22
2.2.6 DX的使用 22
2.2.7 mksdcard的使用 22
2.3 我的第一个Android应用 22
2.3.1 纯手工创建一个Android应用 22
2.3.2 使用Eclipse创建一个Android应用 25
第二篇 技术篇 32
第3章 Android中的资源访问 32
3.1 资源简介 33
3.1.1 资源的类型和布局 33
3.1.2 资源文件的使用 33
3.2 使用颜色(color)资源 35
3.2.1 颜色值定义 35
3.2.2 颜色资源XML文件的定义 35
3.2.3 使用颜色资源 36
3.3 使用字符串(string)资源 37
3.3.1 字符串资源XML文件的定义 37
3.3.2 字符串资源XML文件的使用 38
3.4 使用尺寸(dimen)资源 39
3.4.1 Android中支持的尺寸单位 39
3.4.2 尺寸资源XML文件的定义 40
3.4.3 尺寸资源XML文件的使用 40
3.5 使用原始XML资源 42
3.5.1 原始XML资源文件的定义 42
3.5.2 原始XML文件的使用 42
3.6 使用drawables资源 45
3.7 使用布局(layout)资源 47
3.7.1 布局文件的定义 47
3.7.2 布局文件的使用 48
3.8 使用菜单(menu)资源 49
3.8.1 菜单资源文件的定义 50
3.8.2 菜单资源文件的使用 51
第4章 Android用户界面 55
4.1 菜单 55
4.1.1 选项菜单(Option Menu) 56
4.1.2 上下文菜单(Context Menu) 57
4.1.3 子菜单(Sub Menu) 59
4.2 对话框 61
4.3 提示信息(Toast) 64
4.4 事件处理 66
4.4.1 事件处理机制 66
4.4.2 Android中的事件监听器 68
4.4.3 事件处理步骤 69
4.5 布局管理(Layout) 72
4.5.1 线性布局 73
4.5.2 帧布局 75
4.5.3 表格布局 76
4.5.4 相对布局 77
4.5.5 绝对布局 78
4.6 组件(Widget) 79
4.6.1 常用组件 79
4.6.2 自动完成文本框(AutoCompleteTextView) 86
4.6.3 选项卡(Tab) 88
4.6.4 进度条(ProgressBar) 91
4.6.5 日期、时间选择对话框(DataPickerDialog、TimePickerDialog) 95
4.6.6 列表视图(ListView) 97
4.6.7 网格视图(GridView) 99
4.6.8 画廊视图(Gallery) 101
4.6.9 地图视图(MapView) 105
4.6.10 网络视图(WebView) 108
第5章 Android基本程序单元Activity 111
5.1 何谓回调 111
5.2 Activity简介 113
5.2.1 Activity的创建 113
5.2.2 启动另一个Activity 115
5.2.3 Activity之间传递数据 117
5.2.4 启动另一个Activity并返回结果 121
5.3 Activity的生命周期 126
第6章 Android组件之间的信使Intent 130
6.1 Intent对象及其属性 131
6.1.1 Intent的ComponentName属性 131
6.1.2 Intent的Action属性 135
6.1.3 Intent的Data属性 140
6.1.4 Intent的Category属性 141
6.1.5 Intent的Extras属性 142
6.2 系统标准Activity Action应用 144
6.2.1 和打电话相关的标准Activity Action应用 145
6.2.2 访问浏览器和地图 147
6.2.3 发邮件 149
6.3 Intent的实现策略 151
第7章 Android Service组件 159
7.1 Service简介 159
7.1.1 创建一个Service 159
7.1.2 启动和停止Service 160
7.1.3 绑定一个已经存在的Service 161
7.1.4 Service实例演示 161
7.2 远程Service调用 166
7.2.1 创建一个AIDL文件 166
7.2.2 实现AIDL文件生成的Java接口 170
7.2.3 将你的接口暴露给客户端 171
7.2.4 客户端调用 171
第8章 Android广播事件处理Broadcast Receiver 173
8.1 自己定义Broadcast Receivei来处理广播事件 173
8.2 系统广播事件的使用 176
8.3 Notification和NotificationManager的使用 178
8.3.1 Notification和NotificationManager简介 178
8.3.2 通知实例演示 179
8.4 AlarmManager的使用 186
第9章 Android中的数据存取 190
9.1 Preference 190
9.1.1 Preference简介 190
9.1.2 Preference应用实例——保存临时短信 191
9.2 File 193
9.3 SQLite 195
9.3.1 SQLiteDatabase 195
9.3.2 SQLiteOpenHelper 199
9.3.3 SQLite应用实例——收藏管理 201
第10章 Content Provider 208
10.1 Content Provider简介 208
10.1.1 Content Provider的常用方法 208
10.1.2 ContentResolver 209
10.1.3 URI 209
10.1.4 查询系统ContentProvider内容 210
10.1.5 添加系统ContentProvider内容 211
10.1.6 添加系统ContentProvider图片内容 211
10.2 自定义ContentProvider 212
10.2.1 创建ContentProvider的步骤 212
10.2.2 ContentProvider实例 213
第11章 Android中的多媒体应用 221
11.1 音频及视频播放 221
11.1.1 从源文件中播放 221
11.1.2 从文件系统中播放 222
11.1.3 从网络中播放 222
11.2 迷你音乐播放器 223
11.3 迷你视频播放器 228
11.4 音视频的录制 229
11.5 Camera照相 233
第12章 Android中的图形图像 238
12.1 在Android中访问图片 238
12.1.1 使用图片文件创建Drawable对象 239
12.1.2 使用XML文件定义Drawable属性 240
12.1.3 Bitmap和BitmapFactory 241
12.2 Android中的动画 242
12.2.1 Tween动画 242
12.2.2 Frame动画 251
12.3 动态图形绘制 253
12.3.1 动态图形绘制的基本思路 253
12.3.2 动态图形绘制类简介 256
12.3.3 绘制几何图形 257
12.4 图形特效 261
12.4.1 使用Matrix实现旋转、缩放和平移 261
12.4.2 使用Shader类渲染图形 264
第13章 Android中的互联网应用 268
13.1 通过Socket、ServerSocket进行网络编程 268
13.1.1 Socket、ServerSocket编程模型 268
13.1.2 Socket编程实例 269
13.2 通过URL进行网络编程 271
13.3 通过HTTP进行网络编程 273
13.3.1 使用HttpURLConnection 273
13.3.2 使用Apache HTTP客户端 278
13.4 通过Web Service进行网络编程 280
13.5 直接使用WebView视图组件显示网页 285
13.5.1 使用WebView打开网页 285
13.5.2 使用WebView加载HTML 286
第14章 Android中的GPS应用 287
14.1 LocationManager和LocationProvider简介 287
14.1.1 LocationManager 288
14.1.2 LocationProvider 288
14.2 通过模拟器测试位置服务 289
14.3 获得LocationProvider 292
14.3.1 通过名称获得LocationProvider 292
14.3.2 获得当前可利用的LocationProvider 292
14.3.3 根据Criteria条件获得LocationProvider 292
14.4 定位和跟踪 293
14.4.1 定位 294
14.4.2 跟踪 296
14.5 趋近警告 298
14.6 Geocoder正逆向编解码 300
14.6.1 正向编码 301
14.6.2 反向编码 303
第三篇 应用篇 306
第15章 Android应用案例——移动警务通 306
15.1 移动警务通需求分析 306
15.2 移动警务通总体设计 307
15.2.1 系统架构 307
15.2.2 技术选型 307
15.2.3 系统功能 308
15.3 移动警务通详细设计 309
15.3.1 系统包及其资源规划 309
15.3.2 Activity界面规划及其程序执行流程 310
15.3.3 系统数据库设计 312
15.4 系统编码实现 313
15.4.1 登录模块Android客户端实现 313
15.4.2 登录模块服务器端实现 320
15.4.3 程序主菜单实现 325
15.4.4 信息查询子菜单实现 326
15.4.5 在逃人员查询模块客户端实现 327
15.4.6 在逃人员查询模块服务器端实现 332
15.4.7 信息采集子菜单实现 338
15.4.8 机动车违章信息采集Android客户端实现 339
15.4.9 机动车违章信息采集服务器端实现 345
15.4.10 文件上传子菜单实现 348
15.4.11 现场照片上传Android客户端实现 349
15.4.12 现场照片上传服务器端实现 360
15.4.13 GPS定位功能子菜单实现 363
15.4.14 GPS定位“我的位置”的实现 364
15.4.15 GPS定位“按坐标查询”的实现 369
15.4.16 GPS定位“按地址查询”的实现 374
第16章 Android应用案例——雷电游戏 378
16.1 Android游戏开发基本框架 378
16.1.1 Android游戏开发基础 378
16.1.2 Android游戏开发基本框架 379
16.2 将Java ME游戏API嫁接到Android 384
16.2.1 Layer类的移植 384
16.2.2 Sprite类的移植 386
16.2.3 TiledLayer类的移植 386
16.2.4 LayerManager类的移植 386
16.3 Android版雷电游戏的实现 387
16.3.1 雷电游戏简介 387
16.3.2 雷电游戏的实现 387
第17章 Android应用案例——备忘录 396
17.1 备忘录数据存储实现 396
17.1.1 数据库表设计 396
17.1.2 备忘录ContentProvider实现 397
17.2 备忘录列表展示 402
17.3 备忘录维护 405
17.4 备忘录定时提醒 412
17.4.1 定义提醒广播接收器 412
17.4.2 显示提醒Activity 413
第18章 Android应用案例——无线点餐系统 417
18.1 无线点餐系统需求分析 417
18.2 无线点餐系统概要设计 417
18.2.1 系统物理架构 418
18.2.2 技术选型 418
18.2.3 系统功能 419
18.3 无线点餐系统详细设计 422
18.3.1 系统包及其资源规划 422
18.3.2 系统数据库设计 423
18.4 系统编码实现 424
18.4.1 登录模块Android客户端实现 424
18.4.2 登录模块服务器端实现 432
18.4.3 程序主菜单实现 437
18.4.4 点餐功能客户端实现 440
18.4.5 点餐功能服务器端实现 450
18.4.6 结算模块Android客户端实现 455
18.4.7 结算模块服务器端实现 458
18.4.8 查台模块Android客户端实现 466
18.4.9 查台模块服务器端实现 470
18.4.10 更新模块Android客户端实现 473
18.4.11 更新模块服务器端实现 477
18.4.12 转台模块Android客户端实现 480
18.4.13 转台模块服务器端实现 482
18.4.14 并台模块Android客户端实现 485
18.4.15 并台模块服务器端实现 488