具体描述
《Android应用开发入门》为Android应用开发的入门课程,以深入浅出、循序渐进的方式讲述Android开发,并且结合实际例子讲解各个知识点。主要内容包括:机器部署;Java和XML简介;使用Eclipse的高效开发;应用框架概览;UI和图形设计;添加交互;内容提供程序、Intent、IntentFilter;用Java和XML基础知识构建高级应用等。
《Android应用开发入门》适合移动开发人员以及所有对Android应用开发感兴趣的人员阅读。
作者简介
Wallace Jackson
Mind Taffy Design公司首席执行官。Mind Taffy创立于1991年,是一家从事新媒体内容设计和制作的公司。在过去20多年里,Wallace一直引领i3D和富媒体应用设计领域的潮流,使用不超过512KB的数据容量来制作病毒式传播的数字内容。他曾为世界领先的国际品牌提供服务,为业界领先的公司(其中包括财富500强公司)制作定制化的数字新媒体项目。
Wallace拥有美国南加州大学营销战略专业MSBA学位、南加州大学马歇尔商学院管理信息系统设计与实施专业MBA学位,以及加州大学洛杉矶分校安德森管理学院商业经济学学士学位。
目录信息
1.1 Android是什么 1
1.2 Android的优势 2
1.3 本书范围 3
1.3.1 本书所涉及的内容 3
1.3.2 本书未涉及的内容 4
1.4 下载SDK工具 4
1.4.1 Java 5
1.4.2 Eclipse 6
1.4.3 Android SDK 7
1.5 小结 7
第2章 本书内容梗概 9
2.1 Android集成开发环境 9
2.2 Java、XML以及Android的工作原理 11
2.3 Android应用程序框架 11
2.4 屏幕布局设计 12
2.5 用户界面设计 12
2.6 图像与动画设计 13
2.7 交互性 13
2.8 内容提供器 13
2.9 Intent和Intent过滤器 14
2.10 Android的未来 14
2.11 小结 15
第3章 配置Android开发环境 16
3.1 安装Java、Eclipse和Android 16
3.1.1 Java SE和JRE:应用程序开发的基础 16
3.1.2 Eclipse IDE:开发环境 18
3.1.3 Android SDK:用于Eclipse的Android工具包 21
3.1.4 Android开发工具:用于Eclipse的Android工具 22
3.1.5 Eclipse中的Android环境 25
3.2 升级Android SDK 26
3.3 配置AVD与智能手机连接 29
3.3.1 AVD:智能手机模拟器 29
3.3.2 USB智能手机驱动程序:外部设备 31
3.4 在64位平台上进行开发 31
3.5 小结 33
第4章 Android软件开发平台介绍 34
4.1 了解Java SE与Dalvik虚拟机 34
4.2 Android工程的目录结构 35
4.2.1 典型的默认资源目录 36
4.2.2 Values目录 37
4.3 用好Android XML(你的秘密武器) 38
4.3.1 屏幕尺寸 39
4.3.2 桌面时钟 39
4.4 使用Android应用程序资源 40
4.4.1 位图图片 40
4.4.2 可选资源目录 40
4.5 启动应用程序:AndroidManifest.xml文件 41
4.6 创建第一个Android应用 42
4.6.1 启动Eclipse 42
4.6.2 创建一个Android工程 43
4.6.3 查看并编辑应用程序文件 45
4.6.4 在strings.xml中设置一个变量的值 49
4.6.5 运行应用 51
4.6.6 添加应用程序图标 52
4.7 小结 55
第5章 Android框架概览 56
5.1 OOP的基础:对象 56
5.1.1 一些OOP术语 58
5.1.2 对象的设计图:类 58
5.1.3 为类赋予结构:继承 62
5.1.4 定义接口 64
5.1.5 将类组织起来:包 65
5.2 XML概览 66
5.3 剖析Android应用程序:APK文件 66
5.4 Android应用程序组件 68
5.4.1 Android活动:定义UI 68
5.4.2 Android服务:后台处理 69
5.4.3 广播接收器:消息和通知 69
5.4.4 内容提供器:数据管理 70
5.5 Android Intent对象:组件的通信 71
5.6 Android Manifest XML:组件的声明 71
5.7 小结 73
第6章 屏幕布局设计:视图与布局 75
6.1 Android视图结构 75
6.1.1 使用View类 75
6.1.2 嵌套视图:使用ViewGroup类 76
6.2 定义屏幕布局:使用XML 77
6.2.1 配置屏幕布局 77
6.2.2 使用线性布局 78
6.2.3 使用相对布局 88
6.2.4 滑动抽屉:扩展你的UI 91
6.2.5 在视图和布局中使用内外边距和外外边距 94
6.2.6 在View中设置内边距 95
6.2.7 在ViewGroup中设置外边距 95
6.3 小结 95
第7章 按钮、菜单与对话框 97
7.1 使用常见的UI元素 97
7.1.1 为布局添加图像按钮 97
7.1.2 为布局添加文本 107
7.1.3 添加图片 108
7.2 使用菜单 110
7.2.1 用XML创建菜单结构 111
7.2.2 定义菜单项文本 112
7.2.3 通过Java载入菜单结构 115
7.2.4 在Android模拟器中运行应用 116
7.2.5 让菜单发挥作用 117
7.3 添加对话框 119
7.3.1 使用自定义对话框子类 120
7.3.2 显示警告对话框 120
7.4 小结 124
第8章 Android图像资源介绍 125
8.1 图像资源简介 125
8.1.1 调用图片 126
8.1.2 核心图像资源子类 126
8.2 使用位图 127
8.2.1 PNG图片 127
8.2.2 JPEG和GIF图片 128
8.3 创建动画 128
8.3.1 基于帧的2D动画 128
8.3.2 补间动画 136
8.4 使用过渡 141
8.5 创建9-Patch自定义伸缩图片 145
8.6 播放视频 150
8.6.1 添加VideoView对象 150
8.6.2 为视频添加Java代码 152
8.7 小结 154
第9章 增加交互性:处理UI事件 155
9.1 UI事件概述 155
9.1.1 监听及处理事件 155
9.1.2 通过View类处理UI事件 155
9.1.3 事件回调方法 156
9.2 处理onClick事件 157
9.2.1 为UI元素实现onClick监听器 157
9.2.2 向活动添加onClick监听器 158
9.3 Android触摸屏事件:onTouch 165
9.4 触屏版右键点击:onLongClick 166
9.5 键盘事件监听器:onKeyUp和onKeyDown 169
9.5.1 添加用于键盘事件的XML代码 169
9.5.2 添加用于键盘事件的Java代码 170
9.6 上下文菜单:onCreateContextMenu 171
9.6.1 添加用于上下文菜单的XML代码 172
9.6.2 添加用于上下文菜单的Java代码 173
9.7 焦点控制 178
9.7.1 添加用于焦点控制的XML代码 179
9.7.2 添加用于焦点控制的Java代码 182
9.7.3 设置焦点可用性 184
9.8 小结 185
第10章 了解内容提供器 186
10.1 Android内容提供器概述 186
10.1.1 数据库和数据库管理系统 186
10.1.2 Android内置内容提供器 188
10.2 定义内容提供器 190
10.2.1 在Eclipse中创建内容提供器示例 191
10.2.2 定义安全权限 192
10.2.3 向联系人数据库添加数据 195
10.3 操作数据库 197
10.3.1 查询内容提供器 197
10.3.2 向内容提供器添加数据 203
10.3.3 修改内容提供器数据 208
10.3.4 删除内容提供器数据 212
10.4 小结 217
第11章 了解Intent和Intent过滤器 218
11.1 什么是Intent 218
11.2 通过Intent对象传递消息 219
11.3 Intent解析:显式Intent和隐式Intent 221
11.3.1 显式Intent 221
11.3.2 隐式Intent 222
11.4 在活动中使用Intent 223
11.4.1 编写数字时钟活动 227
11.4.2 连接到应用程序 230
11.4.3 发送Intent 231
11.5 Android服务:在自己的类中处理数据 234
11.5.1 在服务中使用Intent 234
11.5.2 创建服务 237
11.5.3 实现媒体播放功能 241
11.5.4 将按钮连接到服务 241
11.5.5 运行应用程序 243
11.6 在广播接收器中使用Intent 244
11.6.1 用XML创建定时器用户界面 244
11.6.2 创建一个定时广播接收器 246
11.6.3 配置AndroidManifest.xml文件的<receiver>标签 247
11.6.4 实现Intent 248
11.6.5 在Android 1.5模拟器中运行定时器应用程序 252
11.7 小结 253
第12章 探索未来 254
12.1 创建自定义部件 254
12.2 位置服务 256
12.3 Google地图 256
12.4 Google搜索 259
12.5 数据存储 260
12.5.1 共享配置选项 260
12.5.2 内部存储 261
12.5.3 外部存储 261
12.5.4 使用SQLite 261
12.6 设备管理:IT安全部署 262
12.7 用Camera类控制摄像头 262
12.8 3D图形:使用OpenGL ES 1.x 262
12.9 面部识别 263
12.10 音频池 263
12.11 媒体录制 264
12.12 小结 265
· · · · · · (收起)
读后感
用户评价
这本书的逻辑结构混乱得像一个没有经过整理的旧仓库,章节之间的跳转生硬且缺乏过渡,阅读体验极其破碎。前一章还在热火朝天地讨论网络请求的底层原理,下一章却毫无预兆地跳到了如何配置Gradle文件中的一些不相关的细节,两者之间缺失了必要的桥梁和解释,使得知识点之间的关联性非常薄弱。作者似乎是把所有零散的笔记一股脑地塞进了这本书里,没有进行有效的梳理和提炼。我发现自己常常需要回头翻阅前几章的内容,才能勉强理解当前章节引入的新概念是如何与之前学到的知识点串联起来的。对于初学者而言,这种缺乏清晰学习路径的设计,极易造成知识的碎片化和学习效率的低下,让人感觉每学到一个点,就得自己动手去拼凑出一张完整的地图,这无疑增加了学习的难度和挫败感。
我不得不说,作者在处理高级主题时的叙述方式,简直像是背诵一本过时的官方文档,缺乏任何与现代开发实践接轨的洞察力。例如,在讲解生命周期管理时,他花费了大量的篇幅去解释那些在当前版本中几乎被废弃的旧API调用流程,却对协程(Coroutines)和响应式编程范式的实际应用轻描淡写,仿佛现代Android开发是静止的,不存在技术迭代一样。当我尝试跟着教程搭建一个涉及到Jetpack Compose的界面时,发现书中给出的代码示例充满了过时的View体系的残留,根本无法顺利编译,更别提实现预期的效果了。这种知识的滞后性,使得这本书的参考价值直线下降,对于一个希望站在前沿学习的初学者来说,这无异于被引导着走了一条布满荆棘的弯路。我不得不花费双倍的时间去Google搜索正确的现代实现方法,这让我严重怀疑作者是否真的在近几年内进行过实际的项目开发。
这本书在处理用户体验和实际项目落地方面的探讨,简直是云淡风轻,缺乏深入的剖析和实战指导。它只是机械地罗列了Activity的启动流程和Fragment的生命周期,却很少涉及如何在真实世界中构建一个流畅、响应迅速的用户界面。例如,对于内存泄漏的排查、启动速度的优化、或者如何有效地使用后台任务保证数据同步,这些直接关系到应用是否能被用户接受的关键点,在书中几乎只是一笔带过,甚至完全没有提及。我期待的是一本能教会我如何“造出好用App”的书,而不是一本仅停留在“如何写出能跑起来的代码”的理论手册。缺乏对这些实践层面的深入讲解,使得读者即便读完全书,在面对真实的项目挑战时,依然会感到束手无策,这本书的实用价值大打折扣。
在代码示例的严谨性上,这本书的表现简直是粗心大意到了极点。我发现好几个核心功能的代码块都存在明显的逻辑错误或者拼写错误,其中有一个关键的数据存储函数的参数类型定义居然完全错误,导致我编译通过后,在运行时才会触发崩溃,浪费了我好几个小时来调试一个本不该存在的错误。更让人恼火的是,附带的“学习资源”链接,大部分都已经失效或者指向了404页面,这表明作者或出版方在书籍发行后就彻底放弃了对其进行维护和更新。对于一本技术指南来说,代码的准确性和资源的有效性是生命线,这本书在这两方面都表现得如此敷衍,让我对它的可靠性产生了根本性的怀疑,仿佛我手中的不是一本教材,而是一个半成品。
这本书的排版和装帧简直是印刷界的灾难,拿在手里感觉就像在翻阅一本廉价的宣传册,而不是一本厚重的技术书籍。纸张质量粗糙得让人心疼,油墨的味道久久不散,每次翻页都伴随着刺啦刺啦的摩擦声,简直是对阅读体验的极致摧残。更不用提那些充斥着低分辨率截图和模糊代码块的页面,很多关键部分的细节根本看不清,我不得不频繁地放大手机屏幕,试图辨认那些扭曲的字母和图标,这极大地打断了我的学习思路。很多插图的颜色过渡生硬,简直像是出自上个世纪的打印机,完全无法体现现代移动设备界面的美感。封面设计更是俗套到令人发指,那种老套的蓝色调和突兀的字体组合,让人一看就知道这不是什么精心打磨的作品,而是仓促上阵的产物。如果说技术书籍的价值在于内容的深度和可读性,那么这本的物理形态无疑是内容价值的巨大减分项,连最基本的阅读舒适度都无法保证,实在让人难以长时间沉浸其中。
感觉跟我想象的不太一样,graphical layout里面都有的东西却用代码来教,又不像html那么好记,很麻烦。而且感觉java和xml和manifest之间的关系没讲清楚,费了好半天劲才整明白。总之这书不能给好评……还要多实践……
一直在入门,从未能精通。
很基础的一本书,废话很多,有很多重复的篇幅,适合初学者。
一直在入门,从未能精通。
书还是不错的,写的很清晰。但是这个领域变化太快了,这本书还是基于ADT和Eclipse的,现在还是跟着网络教材可能更好。当然基本的思路还是不变的。