第1篇 入门必备 2
第1章 初识Android 2
1.1手机发展简史 2
1.1.1手机发展的里程碑 2
1.1.2 Android的各个版本 3
1.2开放手机联盟 4
1.2.1开放手机联盟的目的 5
1.2.2分工合作 5
1.3 Android中的个人英雄主义 5
1.3.1第一届挑战赛冠军介绍 6
1.3.2第二届挑战赛冠军介绍 7
1.3.3 Android Market 8
1.4 Android平台 8
1.4.1 Android体系结构 8
1.4.2熟悉的开发工具 11
1.4.3合理的学习曲线 12
1.5小结 13
第2章 搭建你的开发环境 14
2.1配置前的准备工作 14
2.1.1 Android支持的操作系统 14
2.1.2准备“四大法宝” 14
2.2安装并配置JDK 16
2.2.1安装JDK 16
2.2.2配置JDK 17
2.3安装并配置Eclipse 19
2.3.1运行Eclipse 19
2.3.2了解Eclipse 20
2.4安装并配置Android SDK 21
2.4.1下载Android SDK 21
2.4.2配置SDK 22
2.5下载ADT 23
2.5.1下载ADT 23
2.5.2为Eclipse设置SDK路径 24
2.6新建模拟器 25
2.6.1新建AVD 25
2.6.2运行模拟器 26
2.7真机测试 27
2.7.1安装手机驱动 27
2.7.2设置手机 27
2.8小结 28
第3章 创建第一个程序——HelloWorld 29
3.1新建第一个程序 29
3.1.1新建工程 29
3.1.2运行程序 31
3.2认识 HelloWorld 32
3.2.1首识Android工程 32
3.2.2认识布局文件 34
3.2.3认识值文件 35
3.2.4认识R文件 36
3.2.5认识注册文件 37
3.3调试程序 38
3.3.1增加断点 39
3.3.2开始调试 39
3.3.3单步调试 40
3.4更多示例程序 41
3.4.1导入Samples 41
3.4.2经典范例 42
3.5小结 45
第4章 使用Android工具 46
4.1使用DDMS 46
4.1.1认识DDMS 46
4.1.2使用进程 47
4.1.3使用文件浏览器 50
4.1.4使用模拟器控制 52
4.1.5使用日志 53
4.1.6使用Screen Capture捕捉设备屏幕 57
4.2使用Android调试桥 58
4.2.1使用ADB 58
4.2.2显示连接到计算机的设备 58
4.2.3针对特定设备操作 59
4.2.4启动和停止ADB 59
4.2.5使用ADB操作文件和apk 60
4.2.6使用ADB shell 62
4.3使用AAPT 62
4.3.1使用ADT导出签名程序 63
4.3.2使用命令行生成签名apk文件 64
4.4小结 67
第2篇 界面开发 70
第5章 探索界面UI元素 70
5.1认识Android视图、Widget以及布局 70
5.2必须了解的Widget组件 71
5.2.1使用可滚动的文本控件——TextView 72
5.2.2 TextView中的一些功能 73
5.2.3使用可滚动的视图——ScrollView 75
5.2.4文字的编辑 77
5.2.5使用按钮——Button 78
5.2.6实例——计算器 79
5.2.7使用图片按钮——ImageButton 81
5.2.8使用复选框——CheckBox 84
5.2.9实例——请同意本协议 84
5.2.10使用单选框——RadioGroup 89
5.2.11实例——请选择性别 89
5.2.12使用下拉列表框——Spinner 92
5.2.13实例——请选择工作年限 93
5.2.14实例——动态修改Spinner项 96
5.2.15使用进度条——ProgressBar 97
5.2.16实例——动态修改进度条 99
5.2.17使用拖动条——SeekBar 102
5.2.18实例——简单使用SeekBar 103
5.2.19使用图片视图——ImageView 105
5.2.20实例——ImageView的重叠效果 105
5.2.21使用网格视图——GridView 109
5.2.22实例——通过宫格视图展示相应的应用 110
5.2.23使用消息提醒——Toast 114
5.2.24实例——Toast的4种实现 116
5.3使用列表视图(ListView&ExpandableListView) 119
5.3.1使用列表——ListView 119
5.3.2通过实例学习列表 120
5.3.3使用可扩展列表——ExpandableListView 123
5.3.4实例——简单使用ExpandableListView 124
5.3.5实例——深入使用可扩展列表 128
5.4使用菜单——Menu 136
5.4.1 Menu的使用 136
5.4.2通过实例学习使用Menu 137
5.5小结 139
第6章 使用程序资源 140
6.1资源的意义 140
6.1.1什么是资源 140
6.1.2怎样存储资源 140
6.1.3怎样添加资源 141
6.1.4资源的种类 142
6.1.5怎样访问资源 143
6.2使用资源 144
6.2.1使用资源管理器 144
6.2.2使用String资源 146
6.2.3实例——彩虹和太极 147
6.2.4使用String数组资源 149
6.2.5使用Color资源 150
6.2.6使用Dimension资源 152
6.2.7使用Drawble资源 155
6.2.8使用样式 160
6.2.9使用主题 164
6.3小结 165
第7章 设计界面布局 166
7.1创建界面 166
7.1.1使用xml资源创建布局 166
7.1.2使用代码创建布局 167
7.2使用布局类 168
7.2.1使用绝对布局 168
7.2.2使用线性布局 171
7.2.3使用框架布局 175
7.2.4使用表格布局 178
7.2.5使用关系布局 182
7.3使用其他布局容器 187
7.3.1使用TabActivity 187
7.3.2自定义TabHost 191
7.3.3使用对话框 195
7.3.4使用滑动抽屉 202
7.4小结 206
第3篇 功能实现 208
第8章Android应用程序组成 208
8.1深入理解Activity 208
8.1.1使用Intent连接Activity 208
8.1.2 Activity的生命周期 218
8.2使用广播接收器 224
8.2.1发送广播 224
8.2.2接收广播 226
8.2.3广播实例 227
8.3使用服务 230
8.3.1新建服务 230
8.3.2使用Service 233
8.3.3 Service的生命周期 237
8.4使用ContentProvider 241
8.5小结 242
第9章Android中的数据存储 243
9.1使用SharedPreferences 243
9.1.1什么是SharedPreferences 243
9.1.2使用SharedPreferences保存数据 244
9.1.3使用SharedPreferences读取数据 246
9.1.4通过实例学习SharedPreferences 247
9.2使用文件存储 250
9.2.1文件保存概述 250
9.2.2在程序默认位置创建和写入文件 251
9.2.3在默认位置读取文件 251
9.2.4通过实例学习文件存储 252
9.3使用SQLite数据库 255
9.3.1创建和删除数据库 255
9.3.2创建和删除表 256
9.3.3操作记录 257
9.3.4查询记录 260
9.3.5使用数据库帮助类 264
9.4实例——通过数据库验证登录 266
9.4.1整体设计 266
9.4.2数据库设计 267
9.4.3登录界面设计 268
9.4.4注册界面设计 270
9.4.5登录成功界面设计 272
9.5使用ContentProvider共享数据 275
9.5.1了解ContentProvider 275
9.5.2使用ContentProvider 276
9.5.3使用ContentResolver 280
9.6自定义ContentProvider 283
9.6.1 ContentProvider需要实现的接口 283
9.6.2实现ContentProvider 284
9.6.3更新AndroidManifest文件 289
9.7小结 290
第10章 绚丽的多媒体技术 291
10.1简单处理音频 291
10.1.1使用MediaRecoder录制音频 291
10.1.2通过实例学习使用MediaRecoder录制音频 293
10.1.3使用MediaPlayer播放音频 295
10.1.4通过实例学习MediaPlayer 297
10.2深度处理音频 300
10.2.1使用AudioRecod录制音频 300
10.2.2通过实例学习使用AudioRecod录制音频 302
10.2.3使用AudioTrack播放音频 305
10.2.4通过实例学习使用AudioTrack录制音频 307
10.3学会拍照 310
10.3.1通过Camera类完成拍照 310
10.3.2实例——简易摄像机 313
10.4学习视频处理 318
10.4.1学习录制视频 319
10.4.2实例——录制视频 320
10.4.3学习播放视频 323
10.4.4实例——自制视频播放器 324
10.5小结 327
第11章Android网上冲浪 328
11.1使用HttpUrIConnection 328
11.1.1使用GET方法 328
11.1.2使用POST方法 329
11.1.3通过实例学习HttpUrlConnection 330
11.2使用HttpClient 334
11.2.1使用HttpClient进行GET连接 334
11.2.2使用HttpClient进行POST连接 335
11.2.3通过实例学习HttpClient 336
11.3自制Web浏览器 340
11.3.1使用WebView 340
11.3.2通过实例学习WebView 341
11.4小结 347
第12章Android地图服务 348
12.1 Google地图显示 348
12.1.1申请Google Maps API金钥 348
12.1.2使用MapView显示地图 351
12.1.3通过实例使用MapView 353
12.2使用GPS 359
12.2.1获得我的位置 359
12.2.2通过实例完成GPS的使用 362
12.3使用地理位置编码 365
12.3.1转换地址信息 366
12.3.2通过实例使用地理位置编码 367
12.4使用Overlay 372
12.4.1实现Overlay类 372
12.4.2通过实例学习Overlay 374
12.5小结 379
第4篇 项目案例开发 382
第13章 联系人助手 382
13.1 Jxl简介 382
13.1.1使用导入jxl.jar 382
13.1.2使用jxl读取Excel文件 383
13.1.3使用jxl创建Excel文件 385
13.2界面规划 386
13.2.1主界面实现 386
13.2.2导出文件、导入文件界面的实现 388
13.3功能实现 390
13.3.1实现导出联系人 391
13.3.2实现导入联系人功能 396
13.3.3实现文件浏览功能 397
13.3.4实现主界面跳转功能 401
13.3.5修改注册表 403
13.5小结 404
第14章 个人轨迹跟踪器 405
14.1界面UI实现 405
14.1.1界面规划 405
14.1.2实现新建跟踪界面 406
14.1.3实现已有跟踪界面 407
14.1.4实现地图显示界面 408
14.2数据库实现 409
14.2.1设计表结构 409
14.2.2实现DatabaseHelper 410
14.3功能实现 411
14.3.1实现TrackService 412
14.3.2实现OldTrackActivity 415
14.3.3实现TrackerActivity 417
14.3.4实现Overlay 423
14.3.5修改注册文件 425
14.4小结 427