出版社:清华大学出版社 作者:软件开发技术联盟 编著
内容概要
《Android开发实战》从初学者的角度讲述使用Android进行应用开发所需掌握的各项技术,内容突出“基础”、“全面”、“深入”的特点,强调“实战”效果。书中在介绍技术的同时,都会提供示例或稍大一些的实例,同时在各章的结尾安排有实战,通过2~6个实战来综合应用本章所讲解的知识,做到理论联系实际;前4篇的最后一章都有一个综合实验,通过一个模块综合应用本篇所讲解的知识内容;在本书的最后一篇中提供了两个完整的项目实例,讲述从前期规划、设计流程到项目最终实施的整个实现过程。
全书共分26章,主要内容包括走进Android,Android模拟器,用户界面设计,Android常用组件,综合实验 (一)——猜猜鸡蛋放在哪只鞋子里,基本程序单元Activity,Intent和BroadcastReceiver的应用,使用资源,Android事件处理,对话框、通知与闹钟,Action Bar,Android程序的调试,综合实验(二)——迷途奔跑的野猪,数据存储技术,Content Provider实现数据共享,线程与消息处理,Service应用,综合实验(三)——简易打地鼠游戏,图像与动画处理技术,利用OpenGL实现3D图形,多媒体技术,定位服务,网络通信技术,综合实验(四)——简易涂鸦板,基于Android的数独游戏和基于Android的家庭理财通。所有知识都结合具体实例进行介绍,对涉及的程序代码给出了详细的注释,读者可以轻松领会Android程序开发的精髓,快速提高开发技能。本书特色及丰富的学习资源包如下:
黄金学习搭配、专业学习视频、重难点精确打击、学习经验分享、学习测试诊断、有趣实践任务、专业资源库、学习排忧解难、获取源程序、提供习题答案、赠送开发案例。
本书适合有志于从事Android应用开发的初学者、高校计算机相关专业学生和毕业生,也可作为软件开发人员的参考手册,或者高校的教学参考书。
书籍目录
目 录
第1篇 新 手 入 门
第1章 走进Android 2
视频讲解:78分钟
1.1 认识Android 3
1.1.1 Android的体系结构 3
1.1.2 Android的特性 5
1.1.3 Android的版本 5
1.1.4 Android市场 6
1.2 搭建Android的开发环境 6
1.2.1 系统需求 6
1.2.2 JDK的下载 7
1.2.3 JDK的安装与配置 8
1.2.4 Android SDK的下载与安装 10
1.2.5 Eclipse的下载与安装 15
1.2.6 Eclipse的汉化 17
1.2.7 ADT插件的下载与安装 18
1.3 开发第一个Android程序 20
1.3.1 了解Android应用程序的开发流程 20
1.3.2 创建Android应用程序 21
1.3.3 创建AVD模拟器 23
1.3.4 运行Android程序 25
1.3.5 调试Android应用程序 25
1.4 实战 26
1.4.1 使用ADT Bundle搭建开发环境 26
1.4.2 创建平板电脑式的模拟器 27
1.5 本章小结 28
1.6 学习成果检验 28
第2章 Android模拟器 29
视频讲解:27分钟
2.1 模拟器概述 30
2.1.1 Android虚拟设备和模拟器 30
2.1.2 模拟器限制 31
2.1.3 控制模拟器的按键 31
2.2 创建和删除Android模拟器 32
2.2.1 创建并启动Android模拟器 32
2.2.2 删除Android模拟器 33
2.3 Android模拟器基本设置 33
2.3.1 设置语言 33
2.3.2 设置输入法 35
2.3.3 设置日期时间 35
2.4 在Android模拟器上安装和卸载程序 37
2.4.1 使用adb命令安装和卸载Android程序 37
2.4.2 通过DDMS管理器安装Android程序 39
2.4.3 在Android模拟器中卸载程序 40
2.5 实战 41
2.5.1 设置模拟器桌面背景 41
2.5.2 使用模拟器拨打电话 42
2.5.3 设置使用24小时格式的时间 42
2.6 本章小结 43
2.7 学习成果检验 43
第3章 用户界面设计 44
视频讲解:136分钟
3.1 控制UI界面 45
3.1.1 使用XML布局文件控制UI界面 45
3.1.2 在Java代码中控制UI界面 47
3.1.3 使用XML和Java代码混合控制UI
界面 49
3.1.4 开发自定义的View 50
3.2 布局管理器 52
3.2.1 线性布局管理器 53
3.2.2 表格布局管理器 55
3.2.3 帧布局管理器 57
3.2.4 相对布局管理器 59
3.3 实战 62
3.3.1 简易的图片浏览器 62
3.3.2 应用相对布局显示软件更新提示 63
3.3.3 使用表格布局与线性布局实现分类
工具栏 64
3.3.4 开发自定义的View在窗体上绘制
一只地鼠 68
3.4 本章小结 69
3.5 学习成果检验 69
第4章 Android常用组件 70
视频讲解:125分钟
4.1 文本类组件 71
4.1.1 文本框 71
4.1.2 编辑框 73
4.1.3 自动完成文本框 76
4.2 按钮类组件 78
4.2.1 普通按钮 78
4.2.2 图片按钮 80
4.2.3 单选按钮 82
4.2.4 复选框 85
4.3 日期、时间类组件 87
4.3.1 日期、时间选择器 87
4.3.2 计时器 89
4.4 进度条类组件 90
4.4.1 进度条 91
4.4.2 拖动条 93
4.4.3 星级评分条 95
4.5 列表类组件 97
4.5.1 列表选择框 97
4.5.2 列表视图 99
4.6 图像类组件 103
4.6.1 图像视图 103
4.6.2 网格视图 105
4.6.3 图像切换器 108
4.6.4 画廊视图 111
4.7 其他组件 114
4.7.1 滚动视图 114
4.7.2 选项卡 116
4.8 实战 118
4.8.1 实现我同意游戏条款 118
4.8.2 显示在标题上的进度条 121
4.8.3 实现带图标的ListView列表 123
4.8.4 实现仿Windows 7图片预览窗格效果 124
4.9 本章小结 127
4.10 学习成果检验 127
第5章 综合实验(一)——猜猜鸡蛋放在
哪只鞋子里 128
视频讲解:12分钟
5.1 概述 129
5.1.1 功能描述 129
5.1.2 系统流程 129
5.1.3 主界面预览 129
5.2 关键技术 130
5.3 实现过程 130
5.3.1 搭建开发环境 130
5.3.2 准备资源 131
5.3.3 布局页面 132
5.3.4 实现游戏规则代码 133
5.4 运行项目 135
5.5 本章小结 136
第2篇 进 阶 提 高
第6章 基本程序单元Activity 138
视频讲解:124分钟
6.1 Activity概述 139
6.1.1 Activity的4种状态 139
6.1.2 Activity的生命周期 140
6.1.3 Activity的属性 141
6.2 创建、启动和关闭Activity 142
6.2.1 创建Activity 142
6.2.2 配置Activity 144
6.2.3 启动和关闭Activity 145
6.3 多个Activity的使用 146
6.3.1 使用Bundle在Activity之间交换数据 146
6.3.2 调用另一个Activity并返回结果 154
6.4 使用Fragment 156
6.4.1 创建Fragment 156
6.4.2 在Activity中添加Fragment 156
6.5 实战 162
6.5.1 应用对话框主题的关于Activity 162
6.5.2 根据输入的生日判断星座 163
6.5.3 带选择头像的用户注册界面 167
6.5.4 仿QQ客户端登录界面 170
6.5.5 带查看原图功能的图像浏览器 173
6.6 本章小结 176
6.7 学习成果检验 176
第7章 Intent和BroadcastReceiver的
应用 177
视频讲解:55分钟
7.1 Intent对象简介 178
7.1.1 Intent对象概述 178
7.1.2 3种不同的Intent传输机制 178
7.2 Intent对象的组成 179
7.2.1 组件名称 179
7.2.2 动作 180
7.2.3 数据 182
7.2.4 种类 184
7.2.5 附加信息 186
7.2.6 标志 189
7.3 解析Intent对象 191
7.3.1 Intent过滤器 191
7.3.2 通用情况 193
7.3.3 使用Intent匹配 194
7.4 BroadcastReceiver使用 194
7.4.1 了解BroadcastReceiver 194
7.4.2 应用BroadcastReceiver 195
7.5 实战 197
7.5.1 使用Intent实现发送短信 197
7.5.2 使用包含预定义动作的隐式Intent 199
7.5.3 使用包含自定义动作的隐式Intent 201
7.5.4 使用BroadcastReceiver查看电池
剩余电量 204
7.6 本章小结 205
7.7 学习成果检验 205
第8章 使用资源 206
视频讲解:176分钟
8.1 字符串资源 207
8.1.1 定义字符串资源文件 207
8.1.2 使用字符串资源 207
8.2 颜色资源 209
8.2.1 颜色值的定义 209
8.2.2 定义颜色资源文件 209
8.2.3 使用颜色资源 210
8.3 尺寸资源 211
8.3.1 Android支持的尺寸单位 211
8.3.2 定义尺寸资源文件 212
8.3.3 使用尺寸资源 212
8.4 数组资源 215
8.4.1 定义数组资源文件 215
8.4.2 使用数组资源 216
8.5 Drawable资源 216
8.5.1 图片资源 217
8.5.2 StateListDrawable资源 219
8.6 使用布局资源 222
8.7 样式和主题资源 223
8.7.1 样式资源 223
8.7.2 主题资源 224
8.8 使用原始XML资源 227
8.9 使用菜单资源 228
8.9.1 定义菜单资源文件 228
8.9.2 使用菜单资源 230
8.10 Android程序国际化 234
8.11 实战 235
8.11.1 通过字符串资源显示游戏对白 235
8.11.2 使用数组资源和ListView显示
联系人列表 236
8.11.3 实现自定义复选框的样式 237
8.11.4 创建一组只能单选的选项菜单 238
8.11.5 实现国际化的上下文菜单 240
8.12 本章小结 242
8.13 学习成果检验 242
第9章 Android事件处理 243
视频讲解:36分钟
9.1 事件处理概述 244
9.2 处理键盘事件 244
9.3 处理触摸事件 246
9.4 手势的创建与识别 247
9.4.1 手势的创建 247
9.4.2 手势的导出 248
9.4.3 手势的识别 249
9.5 实战 250
9.5.1 提示音量增加事件 250
9.5.2 使用手势输入数字 251
9.5.3 查看手势对应的分值 252
9.6 本章小结 254
9.7 学习成果检验 254
第10章 对话框、通知与闹钟 255
视频讲解:50分钟
10.1 通过Toast显示消息提示框 256
10.2 使用AlertDialog实现对话框 257
10.3 使用Notification在状态栏上显示
通知 262
10.4 使用AlarmManager设置闹钟 264
10.4.1 AlarmManager简介 265
10.4.2 设置一个简单的闹钟 265
10.5 实战 268
10.5.1 弹出询问是否退出的对话框 268
10.5.2 弹出带图标的列表对话框 269
10.5.3 仿手机QQ登录状态显示功能 270
10.6 本章小结 273
10.7 学习成果检验 273
第11章 Action Bar 274
视频讲解:26分钟
11.1 Action Bar概述 275
11.2 Action Bar的使用 275
11.2.1 添加Action Bar 275
11.2.2 移除Action Bar 276
11.2.3 添加Action Item选项 277
11.2.4 Action Bar显示选项 279
11.2.5 Action Bar与Tab 281
11.2.6 添加 Action View 285
11.2.7 添加Action Provider 287
11.3 实战 289
11.3.1 禁止Action Bar的使用 289
11.3.2 显示自定义视图 290
11.3.3 重新设置icon图标 291
11.3.4 不同的选项卡显示不同时区的时间 292
11.4 本章小结 294
11.5 学习成果检验 294
第12章 Android程序的调试 295
视频讲解:48分钟
12.1 输出日志信息的几种方法 296
12.1.1 Log.d方法——输出故障日志 296
12.1.2 Log.e方法——输出错误日志 297
12.1.3 Log.i方法——输出程序日志 298
12.1.4 Log.v方法——输出冗余日志 299
12.1.5 Log.w方法——输出警告日志 300
12.2 Android程序调试 301
12.3 程序异常处理 302
12.3.1 Android程序出现异常怎么办 302
12.3.2 如何捕捉Android程序异常 303
12.3.3 抛出异常的两种方法 304
12.3.4 何时使用异常处理 306
12.4 实战 306
12.4.1 向LogCat视图中输出程序Info日志 306
12.4.2 使用throw关键字在方法中抛出异常 307
12.5 本章小结 308
12.6 学习成果检验 308
第13章 综合实验(二)——迷途奔跑的
野猪 309
视频讲解:10分钟
13.1 功能概述 310
13.2 关键技术 310
13.3 实现过程 310
13.3.1 搭建开发环境 311
13.3.2 准备资源 311
13.3.3 布局页面 311
13.3.4 实现代码 312
13.4 运行项目 314
13.5 本章小结 314
第3篇 中 级 开 发
第14章 数据存储技术 316
视频讲解:43分钟
14.1 使用SharedPreferences对象存储
数据 317
14.2 使用Files对象存储数据 324
14.2.1 openFileOutput()和openFileInput()
方法 324
14.2.2 对Android模拟器中的SD卡
进行操作 327
14.3 Android数据库编程——SQLite 328
14.4 实战 332
14.4.1 遍历Android模拟器的SD卡 332
14.4.2 将图片复制到SD卡上 333
14.4.3 判断获得的SD卡内容是否是文件夹 335
14.4.4 在SQLite数据库中批量添加数据 336
14.4.5 使用列表显示数据表中全部数据 338
14.5 本章小结 339
14.6 学习成果检验 339
第15章 Content Provider实现数据共享 340
视频讲解:42分钟
15.1 Content Provider概述 341
15.1.1 数据模型 341
15.1.2 URI的用法 341
15.2 预定义Content Provider 342
15.2.1 查询数据 343
15.2.2 增加记录 343
15.2.3 增加新值 344
15.2.4 批量更新记录 344
15.2.5 删除记录 344
15.3 自定义Content Provider 344
15.3.1 继承ContentProvider类 345
15.3.2 声明Content Provider 346
15.4 实战 347
15.4.1 系统内置联系人的使用 347
15.4.2 查询联系人ID和姓名 347
15.4.3 查询联系人姓名和电话 348
15.4.4 自动补全联系人姓名 350
15.5 本章小结 352
15.6 学习成果检验 352
第16章 线程与消息处理 353
视频讲解:50分钟
16.1 多线程的常见操作 354
16.1.1 创建线程 354
16.1.2 开启线程 356
16.1.3 线程的休眠 356
16.1.4 中断线程 357
16.2 Handler消息传递机制 357
16.2.1 循环者Looper类 358
16.2.2 消息处理类Handler 359
16.2.3 消息类Message 360
16.3 实战 361
16.3.1 开启一个新线程播放背景音乐 361
16.3.2 开启新线程获取网络图片
并显示到ImageView中 362
16.3.3 开启新线程实现电子广告牌 364
16.3.4 多彩的霓虹灯 366
16.3.5 在屏幕上来回移动的气球 368
16.4 本章小结 370
16.5 学习成果检验 370
第17章 Service应用 371
视频讲解:48分钟
17.1 Service概述 372
17.1.1 Service的分类 372
17.1.2 Service类中重要方法 372
17.1.3 Service的声明 373
17.2 创建Started Service 374
17.2.1 继承IntentService类 375
17.2.2 继承Service类 376
17.2.3 启动服务 377
17.2.4 停止服务 378
17.3 创建Bound Service 378
17.3.1 继承Binder类 379
17.3.2 使用Messenger类 381
17.3.3 绑定到服务 383
17.4 管理Service的生命周期 383
17.5 实战 384
17.5.1 继承IntentService输出当前时间 384
17.5.2 继承Service输出当前时间 385
17.5.3 继承Binder类绑定服务显示时间 387
17.5.4 使用Messenger类绑定服务显示时间 390
17.5.5 视力保护程序 392
17.5.6 查看当前运行服务信息 394
17.6 本章小结 396
17.7 学习成果检验 396
第18章 综合实验(三)——简易
打地鼠游戏 397
视频讲解:15分钟
18.1 功能概述 398
18.2 关键技术 398
18.3 实现过程 399
18.3.1 搭建开发环境 399
18.3.2 准备资源 399
18.3.3 布局页面 400
18.3.4 实现代码 400
18.4 运行项目 401
18.5 本章小结 402
第4篇 高 级 应 用
第19章 图像与动画处理技术 404
视频讲解:176分钟
19.1 常用绘图类 405
19.1.1 Paint类 405
19.1.2 Canvas类 406
19.1.3 Bitmap类 408
19.1.4 BitmapFactory类 408
19.2 绘制2D图像 409
19.2.1 绘制几何图形 409
19.2.2 绘制文本 411
19.2.3 绘制路径 413
19.2.4 绘制图片 415
19.3 为图形添加特效 417
19.3.1 旋转图像 417
19.3.2 缩放图像 419
19.3.3 倾斜图像 420
19.3.4 平移图像 421
19.3.5 使用BitmapShader渲染图像 422
19.4 Android中的动画 423
19.4.1 实现逐帧动画 424
19.4.2 实现补间动画 424
19.4.3 Android动画的应用 428
19.5 实战 431
19.5.1 绘制Android的机器人 431
19.5.2 实现带描边的圆角图片 432
19.5.3 实现放大镜效果 432
19.5.4 在GridView中显示SD卡上的
全部图片 434
19.5.5 忐忑的精灵 436
19.6 本章小结 438
19.7 学习成果检验 438
第20章 利用OpenGL实现3D图形 439
视频讲解:56分钟
20.1 OpenGL简介 440
20.2 绘制3D图形 440
20.2.1 构建3D开发的基本框架 440
20.2.2 绘制一个模型 442
20.3 添加效果 446
20.3.1 应用纹理贴图 447
20.3.2 旋转 448
20.3.3 光照效果 449
20.3.4 透明效果 450
20.4 实战 451
20.4.1 绘制一个三棱锥 451
20.4.2 为三棱锥添加旋转效果 453
20.4.3 绘制一个不断旋转的金字塔 455
20.4.4 使用Android机器人对立方体进行
纹理贴图 457
20.5 本章小结 458
20.6 学习成果检验 458
第21章 多媒体技术 459
视频讲解:96分钟
21.1 播放音频与视频 460
21.1.1 使用MediaPlayer播放音频 460
21.1.2 使用SoundPool播放音频 464
21.1.3 使用VideoView播放视频 467
21.1.4 使用MediaPlayer和SurfaceView
播放视频 468
21.2 控制相机拍照 472
21.3 实战 476
21.3.1 播放SD卡上的全部音频文件 476
21.3.2 带音量控制的音乐播放器 480
21.3.3 为游戏界面添加背景音乐和按键音 482
21.3.4 制作开场动画 486
21.4 本章小结 487
21.5 学习成果检验 488
第22章 定位服务 489
视频讲解:20分钟
22.1 定位基础 490
22.1.1 获得位置源 490
22.1.2 查看位置源属性 491
22.1.3 监听位置变化事件 493
22.2 谷歌地图服务 496
22.2.1 安装谷歌API插件 496
22.2.2 使用谷歌API的Android项目 497
22.2.3 使用谷歌API的Android虚拟设备 497
22.2.4 获得地图API密钥 497
22.3 实战 501
22.3.1 显示海拔信息 501
22.3.2 显示方向信息 502
22.3.3 在地图上标记天府广场的位置 502
22.4 本章小结 505
22.5 学习成果检验 505
第23章 网络通信技术 506
视频讲解:96分钟
23.1 通过HTTP访问网络 507
23.1.1 使用HttpURLConnection访问网络 507
23.1.2 使用HttpClient访问网络 514
23.2 使用WebView显示网页 519
23.2.1 使用WebView组件浏览网页 520
23.2.2 使用WebView加载HTML代码 521
23.2.3 让WebView支持JavaScript 522
23.3 实战 524
23.3.1 从指定网站下载文件 524
23.3.2 访问需要登录后才能访问的页面 526
23.3.3 打造功能实用的网页浏览器 531
23.3.4 获取天气预报 534
23.4 本章小结 536
23.5 学习成果检验 536
第24章 综合实验(四)——简易涂
鸦板 537
视频讲解:12分钟
24.1 功能概述 538
24.2 关键技术 538
24.3 实现过程 539
24.3.1 搭建开发环境 539
24.3.2 布局页面 539
24.3.3 实现代码 540
24.4 运行项目 544
24.5 本章小结 544
第5篇 项 目 实 战
第25章 基于Android的数独游戏 546
视频讲解:27分钟
25.1 需求分析 547
25.2 程序开发及运行环境 547
25.3 程序文件夹组织结构 547
25.4 公共资源文件 548
25.4.1 字符串资源文件 548
25.4.2 数组资源文件 548
25.4.3 颜色资源文件 549
25.5 游戏主窗体设计 549
25.5.1 设计系统主窗体布局文件 549
25.5.2 为界面中的按钮添加监听事件 551
25.5.3 绘制数独游戏界面 553
25.5.4 数独游戏的实现算法 557
25.6 虚拟键盘模块设计 562
25.6.1 设计模拟键盘布局文件 562
25.6.2 在虚拟键盘中显示可以输入的数字 563
25.7 游戏设置模块设计 565
25.7.1 设计游戏设置布局文件 565
25.7.2 设置是否播放背景音乐和显示提示 566
25.7.3 控制背景音乐的播放与停止 566
25.8 关于模块设计 567
25.8.1 设计关于窗体布局文件 567
25.8.2 显示关于信息 567
25.9 将程序安装到Android手机上 568
25.10 本章小结 568
第26章 基于Android的家庭理财通 569
视频讲解:48分钟
26.1 需求分析 570
26.2 系统设计 570
26.2.1 系统目标 570
26.2.2 系统功能结构 570
26.2.3 系统业务流程图 570
26.2.4 系统编码规范 571
26.3 系统开发及运行环境 572
26.4 数据库与数据表设计 573
26.4.1 数据库分析 573
26.4.2 创建数据库 573
26.4.3 创建数据表 574
26.5 系统文件夹组织结构 575
26.6 公共类设计 575
26.6.1 数据模型公共类 575
26.6.2 Dao公共类 577
26.7 登录模块设计 582
26.7.1 设计登录布局文件 582
26.7.2 登录功能的实现 583
26.7.3 退出登录窗口 584
26.8 系统主窗体设计 584
26.8.1 设计系统主窗体布局文件 584
26.8.2 显示各功能窗口 585
26.8.3 定义文本及图片组件 587
26.8.4 定义功能图标及说明文字 587
26.8.5 设置功能图标及说明文字 588
26.9 收入管理模块设计 589
26.9.1 设计新增收入布局文件 589
26.9.2 设置收入时间 592
26.9.3 添加收入信息 594
26.9.4 重置新增收入窗口中的各个控件 594
26.9.5 设计收入信息浏览布局文件 595
26.9.6 显示所有的收入信息 596
26.9.7 单击指定项时打开详细信息 597
26.9.8 设计修改/删除收入布局文件 597
26.9.9 显示指定编号的收入信息 601
26.9.10 修改收入信息 602
26.9.11 删除收入信息 603
26.10 便签管理模块设计 603
26.10.1 设计新增便签布局文件 603
26.10.2 添加便签信息 605
26.10.3 清空“便签”文本框 606
26.10.4 设计便签信息浏览布局文件 606
26.10.5 显示所有的便签信息 608
26.10.6 单击指定项时打开详细信息 609
26.10.7 设计修改/删除便签布局文件 610
26.10.8 显示指定编号的便签信息 612
26.10.9 修改便签信息 612
26.10.10 删除便签信息 612
26.11 系统设置模块设计 613
26.11.1 设计系统设置布局文件 613
26.11.2 设置登录密码 614
26.11.3 重置“密码”文本框 615
26.12 将程序安装到Android手机上 615
26.13 开发常见问题与解决 616
26.13.1 程序在装有Android系统的手机上
无法运行 616
26.13.2 无法将最新修改在Android模拟器中
体现 616
26.13.3 退出系统后还能使用记录的密码
登录 616
26.14 本章小结 616
图书封面
评论、评分、阅读与下载