书名:Android开发与实践
定价:59.00元
售价:40.1元,便宜18.9元,折扣67
作者:李文琴,李翠霞
出版社:人民邮电出版社
出版日期:2014-06-01
ISBN:9787115354075
字数:
页码:390
版次:01
装帧:平装
开本:16开
商品重量:0.4kg
本书作为Android课程的教材,系统全面地介绍了Android应用开发所涉及的各类知识。全书共分为21章,内容包括搭建Android开发环境,Android模拟器与工具,用户界面设计,Android常用组件,深入理解Activity,Intent和BroadcastReceiver广播,用户资源的使用,Android事件处理,通知、对话框与警告,Android程序调试,图像与动画处理技术,利用OpenGL实现3D图形,多媒体应用开发,Android数据存储技术,Content Provider实现数据共享,线程与消息处理,Service应用,网络通信技术,综合案例—家庭理财通,课程设计—猜猜鸡蛋放在哪只鞋子里,课程设计—简易涂鸦板。全书每章内容都与实例紧密结合,有助于学生理解知识,应用知识,达到学以致用的目的。
本书附有配套DVD光盘,光盘中提供了本书所有实例、综合实例、实验、综合案例和课程设计的源代码,制作精良的电子课件PPT及教学录像,其中,源代码全部经过了精心测试,能够在Windows XP、Windows 2003、Windows 7、Windows 8系统下编译和运行。
本书可作为应用型本科计算机专业、软件学院、高职软件专业及相关专业的教材,同时也可作为Android爱好者以及初、中级Android应用开发人员的参考工具书。
目 录
章 搭建Android开发环境 1
1.1 什么是Android 1
1.1.1 平台特性 1
1.1.2 平台架构 2
1.1.3 Android市场 3
1.2 搭建Android开发环境 4
1.2.1 系统需求 4
1.2.2 K下载 4
1.2.3 K安装 6
1.2.4 ADT Bundle的下载 8
1.3 个Android程序 10
1.3.1 创建Android应用程序 11
1.3.2 创建Android模拟器 13
1.3.3 运行Android应用程序 15
1.3.4 调试Android应用程序 15
1.3.5 Android应用开发流程 16
1.4 综合实例——创建一个可以运行在所有Android版本上的程序 17
知识点提炼 18
习题 18
实验:创建平板电脑式的模拟器 18
第2章 Android模拟器与工具 20
2.1 使用Android模拟器 20
2.1.1 Android模拟器概述 20
2.1.2 Android虚拟设备和模拟器 20
2.1.3 Android模拟器启动与停止 21
2.1.4 模拟器实战 21
2.2 综合实例——设置模拟器桌面背景 22
知识点提炼 23
习题 24
实验:使用模拟器拨打电话 24
第3章 用户界面设计 26
3.1 控制UI界面 26
3.1.1 使用XML布局文件控制UI界面 26
3.1.2 在代码中控制UI界面 26
3.2 布局管理器 28
3.2.1 线性布局 28
3.2.2 表格布局 31
3.2.3 框架布局 34
3.2.4 相对布局 35
3.3 综合实例——应用相对布局显示软件更新提示 38
知识点提炼 39
习题 39
实验:简易的图片 40
第4章 Android常用组件 42
4.1 基本组件 42
4.1.1 文本框(TextView) 42
4.1.2 编辑框(EditText) 45
4.1.3 普通按钮(Button) 47
4.1.4 图片按钮(ImageButton) 49
4.1.5 图像视图(ImageView) 50
4.1.6 单选按钮(RadioButton) 51
4.1.7 复选按钮(CheckBox) 54
4.1.8 日期、时间选择器 56
4.1.9 计时器 58
4.2 高级组件 59
4.2.1 自动完成文本框(AutoCompleteTextView) 59
4.2.2 进度条(ProgressBar) 61
4.2.3 拖动条和星级评分条 64
4.2.4 列表选择框(Spinner) 67
4.2.5 列表视图(ListView) 69
4.2.6 网格视图(GridView) 73
4.2.7 画廊视图(Gallery) 75
4.3 综合实例——实现“我同意游戏条款” 77
知识点提炼 80
习题 80
实验:实现带图标的ListView列表 80
第5章 深入理解Activity 83
5.1 Android核心对象——Activity 83
5.1.1 Activity概述 83
5.1.2 Activity的4种状态 84
5.1.3 Activity的生命周期 84
5.1.4 Activity的属性 89
5.2 创建、启动和关闭Activity 90
5.2.1 创建Activity 90
5.2.2 启动和关闭Activity 91
5.3 多个Activity的使用 94
5.3.1 使用Bundle在Activity之间交换数据 95
5.3.2 调用另一个Activity并返回结果 97
5.4 综合实例——带选择头像的用户注册界面 99
知识点提炼 102
习题 102
实验:根据输入的生日判断星座 102
第6章 Intent和Broadcast Receiver广播 107
6.1 Intent对象简介 107
6.1.1 Intent对象概述 107
6.1.2 3种不同的Intent传输机制 107
6.2 Intent对象的组成 108
6.2.1 组件名称(Component name) 108
6.2.2 动作(Action) 109
6.2.3 数据(Data) 110
6.2.4 种类(Category) 112
6.2.5 附加信息(Extras) 113
6.2.6 标志(Flags) 116
6.3 Intent应用 117
6.3.1 Intent分类 117
6.3.2 Intent过滤器 118
6.4 BroadcastReceiver使用 120
6.4.1 BroadcastReceiver简介 120
6.4.2 BroadcastReceiver应用 120
6.5 综合实例——使用Intent实现发送短信 122
知识点提炼 123
习题 123
实验:使用BroadcastReceiver查看电池剩余电量 123
第7章 用户资源的使用 126
7.1 字符串(string)资源 126
7.1.1 定义字符串资源文件 126
7.1.2 使用字符串资源 127
7.2 颜色(color)资源 128
7.2.1 颜色值的定义 128
7.2.2 定义颜色资源文件 129
7.2.3 使用颜色资源 129
7.3 尺寸(dimen)资源 130
7.3.1 Android支持的尺寸单位 130
7.3.2 定义尺寸资源文件 131
7.3.3 使用尺寸资源 131
7.4 数组(array)资源 133
7.4.1 定义数组资源文件 133
7.4.2 使用数组资源 133
7.5 Drawable资源 134
7.5.1 图片资源 134
7.5.2 StateListDrawable资源 136
7.6 样式(style)和主题(theme)资源 138
7.6.1 样式资源 138
7.6.2 主题资源 139
7.7 使用菜单(menu)资源 142
7.7.1 定义菜单资源文件 142
7.7.2 使用菜单资源 144
7.8 Android程序国际化 148
7.9 综合实例——显示游戏对白 149
知识点提炼 150
习题 150
实验:创建一组只能单选的选项菜单 150
第8章 Android事件处理 153
8.1 事件处理概述 153
8.2 处理键盘事件 153
8.3 处理触摸事件 155
8.4 手势的创建与识别 157
8.4.1 手势的创建 157
8.4.2 手势的导出 157
8.4.3 手势的识别 158
8.5 综合实例——使用手势输入数字 159
知识点提炼 161
习题 161
实验:查看手势对应的分值 161
第9章 通知、对话框与警告 163
9.1 通过Toast显示消息提示框 163
9.2 使用AlertDialog实现对话框 165
9.3 使用Notification在状态栏上显示通知 170
9.4 使用AlarmManager设置警告(闹钟) 172
9.4.1 AlarmManager简介 172
9.4.2 设置一个简单的闹钟 173
9.5 综合实例——仿手机登录状态显示 175
知识点提炼 178
习题 178
实验:弹出带图标的列表对话框 178
0章 Android程序调试 181
10.1 输出日志信息 181
10.1.1 Log.d方法 181
10.1.2 Log.e方法 182
10.1.3 Log.i方法 183
10.1.4 Log.v方法 184
10.1.5 Log.w方法 185
10.2 程序调试 186
10.2.1 断点 186
10.2.2 程序调试 186
10.3 程序异常处理 187
10.3.1 Android程序出现异常 187
10.3.2 捕捉Android程序异常 187
10.3.3 抛出异常的两种方法 188
10.3.4 何时使用异常处理 190
10.4 综合实例——向LogCat视图中输出程序Info日志 191
知识点提炼 191
习题 191
实验:使用throw关键字在方法中抛出异常 192
1章 图像与动画处理技术 193
11.1 常用绘图类 193
11.1.1 Paint类 193
11.1.2 Canvas类 195
11.1.3 Bitmap类 196
11.1.4 BitmapFactory类 197
11.2 绘制2D图像 198
11.2.1 绘制几何图形 198
11.2.2 绘制文本 200
11.2.3 绘制路径 201
11.2.4 绘制图片 203
11.3 为图像添加特效 204
11.3.1 旋转图像 204
11.3.2 缩放图像 206
11.3.3 倾斜图像 207
11.3.4 平移图像 208
11.3.5 使用BitmapShader渲染图像 210
11.4 Android中的动画 211
11.4.1 实现逐帧动画 211
11.4.2 实现补间动画 212
11.5 综合实例——忐忑的精灵 218
知识点提炼 219
习题 220
实验:绘制Android的机器人 220
2章 利用OpenGL实现3D图形 222
12.1 OpenGL简介 222
12.2 绘制3D图形 223
12.2.1 构建3D开发的基本框架 223
12.2.2 绘制一个模型 225
12.3 添加效果 229
12.3.1 应用纹理贴图 229
12.3.2 旋转 231
12.3.3 光照效果 232
12.3.4 透明效果 234
12.4 综合实例——绘制一个不断旋转的金字塔 235
知识点提炼 237
习题 238
实验:绘制一个三棱锥 238
3章 多媒体应用开发 241
13.1 播放音频与视频 241
13.1.1 使用MediaPlayer播放音频 241
13.1.2 使用SoundPool播放音频 245
13.1.3 使用VideoView播放视频 248
13.1.4 使用MediaPlayer和SurfaceView播放视频 250
13.2 综合实例——制作开场动画 253
知识点提炼 255
习题 255
实验:为游戏界面添加背景音乐和按键音 255
4章 Android数据存储技术 260
14.1 使用SharedPreferences对象存储数据 260
14.2 使用Files对象存储数据 267
14.2.1 openFileOutput和openFileInput 268
14.2.2 对Android模拟器中的SD卡进行操作 270
14.3 Android数据库编程——SQLite 271
14.4 综合实例——在SQLite数据库中批量添加数据 275
知识点提炼 277
习题 278
实验:使用列表显示SD卡中的内容 278
5章 Content Provider实现数据共享 280
15.1 Content Provider概述 280
15.1.1 数据模型 280
15.1.2 URI的用法 281
15.2 Content Provider常用操作 282
15.2.1 查询数据 282
15.2.2 添加数据 283
15.2.3 数据修改 283
15.2.4 删除数据 283
15.3 自定义Content Provider 283
15.3.1 继承ContentProvider类 284
15.3.2 声明Content Provider 285
15.4 综合实例——查询联系人姓名和电话 286
知识点提炼 287
习题 287
实验:自动补全联系人姓名 287
6章 线程与消息处理 290
16.1 多线程的实现 290
16.1.1 创建线程 290
16.1.2 开启线程 291
16.1.3 线程的休眠 291
16.1.4 中断线程 291
16.2 Handler消息传递机制 294
16.2.1 循环者Looper简介 294
16.2.2 消息处理类Handler简介 295
16.2.3 消息类Message简介 296
16.3 综合实例——多彩的霓虹灯 297
知识点提炼 299
习题 299
实验:开启新线程实现电子广告牌 299
7章 Service应用 302
17.1 Service概述 302
17.1.1 Service分类 302
17.1.2 Service类的重要方法 303
17.1.3 Service的声明 303
17.2 创建Started Service 304
17.2.1 继承IntentService类 305
17.2.2 继承Service类 306
17.2.3 启动服务 307
17.2.4 停止服务 307
17.3 创建Bound Service 308
17.3.1 继承Binder类 309
17.3.2 使用Messenger类 310
17.3.3 绑定到服务 312
17.4 管理Service的生命周期 313
17.5 综合实例——视力保护程序 314
知识点提炼 316
习题 316
实验:查看当前运行服务信息 317
8章 网络通信技术 319
18.1 网络通信基础 319
18.1.1 无线网络技术 319
18.1.2 什么是WiFi 320
18.1.3 Android网络基础 320
18.2 通信 320
18.2.1 HttpURLConnection接口 321
18.2.2 HttpClient接口 328
18.3 WebKit应用 333
18.3.1 WebKit概述 333
18.3.2 WebView浏览网页 333
18.3.3 WebView加载HTML代码 335
18.3.4 WebView与 336
18.4 综合实例——打造功能实用的网页 337
知识点提炼 340
习题 340
实验:从指定网站下载文件 340
9章 综合案例——家庭理财通 344
19.1 需求分析 344
19.2 系统设计 344
19.2.1 系统目标 344
19.2.2 系统功能结构 345
19.2.3 系统业务流程图 345
19.3 系统开发及运行环境 346
19.4 数据库与数据表设计 346
19.4.1 数据库分析 346
19.4.2 创建数据库 346
19.4.3 创建数据表 346
19.5 系统文件夹组织结构 347
19.6 公共类设计 348
19.6.1 数据模型公共类 348
19.6.2 Dao公共类 350
19.7 登录模块设计 354
19.7.1 设计登录布局文件 354
19.7.2 登录功能的实现 355
19.7.3 退出登录窗口 356
19.8 系统主窗体设计 356
19.8.1 设计系统主窗体布局文件 357
19.8.2 显示各功能窗口 357
19.8.3 定义文本及图片组件 359
19.8.4 定义功能图标及说明文字 359
19.8.5 设置功能图标及说明文字 359
19.9 收入管理模块设计 361
19.9.1 设计新增收入布局文件 361
19.9.2 设置收入时间 364
19.9.3 添加收入信息 366
19.9.4 重置新增收入窗口中的各个控件 366
19.9.5 设计收入信息浏览布局文件 366
19.9.6 显示所有的收入信息 367
19.9.7 单击指定项时打开详细信息 368
19.9.8 设计修改/删除收入布局文件 369
19.9.9 显示指定编号的收入信息 372
19.9.10 修改收入信息 373
19.9.11 删除收入信息 374
19.10 系统设置模块设计 375
19.10.1 设计系统设置布局文件 375
19.10.2 设置登录密码 376
19.10.3 重置密码文本框 377
19.11 本章总结 377
第20章 猜猜鸡蛋放在哪只鞋子里 378
20.1 课程设计目的 378
20.2 功能描述 378
20.3 总体设计 379
20.3.1 构建开发环境 379
20.3.2 准备资源 379
20.3.3 业务流程 380
20.4 实现过程 381
20.5 运行调试 383
20.6 课程设计总结 383
第21章 简易涂鸦板 384
21.1 课程设计目的 384
21.2 功能描述 384
21.3 总体设计 385
21.3.1 构建开发环境 385
21.3.2 页面布局 385
21.4 实现过程 386
21.5 运行调试 389
21.6 课程设计总结 390
这本书的深度和广度达到了一个非常奇妙的平衡点。对于初学者来说,它的入门章节足够友好,概念解释清晰,完全可以作为自学的第一本教材。但对于已经有一定经验的开发者,书中穿插的那些关于架构设计模式和模块化实践的讨论,又提供了足够的思考深度。我尤其欣赏作者在介绍各种设计模式时,总是紧密结合Android特有的上下文——例如,如何使用MVVM或Clean Architecture来管理数据流和UI状态,而不是照搬Web或后端开发的理论。书中对数据持久化方案的分析尤其精彩,它没有武断地宣布Room是唯一的答案,而是详细对比了SQLite、Realm以及Room在不同场景下的性能和维护成本,帮助读者基于实际需求做出最合适的选择。这种客观、深入的分析,使得这本书的价值超越了单纯的技术教程,更像是一本指导开发者进行技术选型的参考手册。
评分我很少见到一本书能将“工程化”思想贯彻得如此彻底。很多书籍只关注代码的实现,而忽略了代码如何被管理、测试和部署。而这本书则完全不同,它将测试的重要性提升到了与功能实现同等的高度。单元测试、集成测试的实战演练部分写得非常细致,特别是针对Android特有的依赖注入和Mocking策略,提供了切实可行的代码示例。更重要的是,它讨论了CI/CD(持续集成/持续部署)在移动开发中的应用,尽管没有深入到具体的Jenkins或GitLab配置,但它清晰地阐述了为什么要这样做,以及如何组织项目结构以利于自动化构建和发布。这种全局观的培养,让我意识到,一个“好的Android项目”不仅仅是功能完善,更在于其工程体系的健壮性。阅读完后,我立即着手改进了我们团队的测试覆盖率和发布流程,效果立竿见影,这本书的实践指导价值无可替代。
评分这本书真是令人耳目一新,它不像市面上那些动辄几百页、堆砌了大量晦涩难懂概念的“权威”著作。我拿到手时,原本还担心内容会过于理论化,但翻开第一页我就放下了心。作者的叙事方式非常接地气,仿佛是带着一个经验丰富的工程师手把手在带你入门。它没有急于展示那些光鲜亮丽的最新API,而是将重点放在了构建健壮、可维护的Android应用的核心原则上。特别是关于组件间通信和生命周期管理的章节,讲解得极为透彻,用日常生活的例子来类比那些复杂的系统调用,让你在理解其“是什么”的同时,更能明白“为什么必须这么做”。我过去花了好大力气才勉强掌握的后台任务处理机制,在这本书里被梳理得井井有条,特别是对比了不同解决方案的优劣,而不是简单地推荐“最佳实践”。这使得我在实际项目中面对遗留代码时,能够迅速洞察到设计上的考量,并做出合理的重构决策。这本书更像是一本实用的工具手册,而不是一本理论教材,读完后我感觉自己不再是那个只会调用SDK方法的初学者,而是真正开始理解Android系统底层运作逻辑的开发者了。
评分当我开始接触移动开发时,最大的困惑是如何在不同版本和不同厂商的设备上保证应用的一致性。这本书在这方面提供了非常成熟的解决方案和经验总结。它不仅仅是罗列兼容性列表,而是探讨了处理碎片化问题的哲学——即如何在提供最佳用户体验的同时,优雅地处理那些不可避免的差异。作者分享了他们团队在处理大规模发布和灰度升级中的经验教训,这些都是在官方文档中找不到的“血泪史”。特别是关于权限管理和后台运行策略的章节,面对Google日益收紧的政策,这本书提供了非常前瞻性的指导,让我能够提前规划,避免了因系统升级而导致的线上故障。它强调的“防御性编程”理念贯穿始终,教会我们如何预见可能出错的地方,并提前设置好安全网。这本书读起来,感觉像是一位资深的架构师坐在你身边,分享着他多年踩坑总结出来的避坑指南,实用性超乎想象。
评分老实说,我对技术书籍的评价往往比较苛刻,因为很多作者似乎将“全面”等同于“优秀”。然而,这本《Android开发与实践》在内容组织上展现出了一种罕见的克制与智慧。它没有陷入对每一个新特性的追逐,而是将笔墨集中在了那些真正能决定一个App“能用”和“好用”之间的鸿沟的技术点上。比如,关于性能调优的部分,它没有泛泛而谈内存泄漏,而是深入剖析了如何使用Android Studio自带的Profiler工具,并结合具体的代码实例展示了如何定位并解决那些隐藏在UI渲染帧率下的性能杀手。我特别欣赏它对构建系统(Gradle)的讲解,通常这部分内容枯燥乏味,但在这里却被处理得丝丝入扣,教会读者如何自定义Task,如何管理复杂的依赖关系,这对任何希望深入定制开发环境的人来说,都是无价之宝。这本书的排版和图示设计也十分出色,大量的流程图和架构图清晰地勾勒出了复杂的系统关系,即使是遇到卡壳的地方,也能通过图示迅速找回思路,极大地提升了阅读效率。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有