前 言
本书第二版面世已近四年,在此期间信息科技继续快速发展,5G网络大规模建成,智能化应用越发普及。万物互联、智慧城市、见屏如见面等场景已从早些年的概念变成如今的生活常态,这些都离不开移动互联网、物联网、人工智能等技术的助力。
单就App开发而言,安卓的系统版本从2018年的Android 9升级到2021年的Android 12,Android Studio的版本也从2018年的3.2更新到2021年的4.2然后开始以字母命名,同时操作系统又多了个兼容Android的国产鸿蒙。近几年还诞生了一些新框架和新标准,诸如谷歌公司的JetPack套件、华为公司的HMS套件,以及臻于完善的WebRTC、低功耗蓝牙(简称BLE)等,这些技术都在App开发中得到越来越广泛的运用。
有鉴于此,本书亟需补充这期间风起云涌的新技术新知识,以跟上时代发展的滚滚浪潮。种种因缘际会,加上众多读者的热忱建议,因此便有了重新修订之后的第3版问世。第3版的图书不是第2版的简单修补,而是脱胎换骨的全面升级。与第2版相比,第3版的图书主要有以下五处重要的增补变化。
1. 工具更新颖
第3版的App开发全部基于Android 12环境,使用的开发工具为2022年9月发布的Android Studio Dolphin(小海豚版本),JNI用到的NDK则为2021年8月发布的r23。相关的功能点都根据上述最新版本的工具展开论述,比如Android 12新增支持AVIF图像、强制使用64位应用,JetPack库内含的DataStore、Room、ViewPager2、CameraX等流行组件。
2. 技术更先进
移动互联网的后继发展方向如物联网、人工智能、实时音视频等开展得如火如荼,第3版为此投入了大量笔墨深入描述相关的技术细节,例如物联网涉及的NFC、红外、低功耗蓝牙、快速扫码等,人工智能涉及的语音识别、语音合成、人脸识别、活体检测等,实时音视频涉及的WebSocket、WebRTC、原始音频、视频通话等。
3. 案例更实用
本书的一大特色是突出实战,每章末尾都给出了技术精炼的实战项目,第3版更是将这个优良传统发扬光大。一方面给部分现有项目补充新功能,例如聊天App原来只支持私聊,新版本增加了群聊功能;阅读App除了支持现有格式外,改造后还支持Office文档(含Word、Excel、PPT)。另一方面新增了若干新潮实用的实战项目,包括无线遥控的智能小车、你问我答的智能语音机器人、自动寻人的智慧天眼、爱心助农的手机直播等。
4. 自主更可控
每个App都凝聚着开发者的心血,持续稳定运行是每个开发者的期望。然而有时由于外部原因导致App无法使用,例如国外服务遭到断供、不在服务范围之内等。为此第3版推荐使用稳定可靠的国内自主服务,包括HMS(Huawei Mobile Service,华为移动服务)、TBS(Tencent Browser Service,腾讯浏览服务)。另外,语音服务和地图服务也选用了方便快速集成的第三方SDK。
5. 讲解更精细
作为一部软件开发方面的专著,要让读者看得懂、学得会,循序渐进的重要性毋庸置疑。第3版在这方面进行了大力改善,首先增加了单独的第2章入门,先讲解App开发必备的基础知识,有助于读者打好基础往下学习;其次,对于App开发的四大组件(Activity、Broadcast、Service、ContentProvider),补充了更加全面的描述以及各组件在不同Android版本中需要注意的事项;最后,大幅精简示例源码,加了注释的每段源码基本不超过一百行,避免代码过长引起的疲惫感。
综上所述,经过精心修订的第3版图书,无论是广度还是深度,从数量到质量都比第2版有了质的提升。全书的写作目的,不仅是教会读者怎么快速开发一个好玩、好看、好用的App,更是让读者领略行业前沿的移动互联网技术。深度解密流行App背后的手机开发技术,展示移动信息科技的最新工程实践,这才是本书一直想要呈献给读者的知识盛宴。
第3版的主要代码基于Java 8编写,其中客户端的App代码基于Android Studio Dolphin(小海豚版本)开发,并使用API31的SDK(Android 12)编译与调试通过,同时兼容鸿蒙2.0设备。配套的服务端源码采用Java Web框架,结合MySQL数据库,并基于IDEA开发。
读者可以扫描下述二维码获取本书的源码、思维导图和PPT课件:
如果下载有问题,请发送邮件到booksaga@126.com,邮件主题为“Android Studio开发实战:从零基础到App上线(第3版)”。
最后,感谢王金柱编辑的热情指点,感谢出版社同仁的辛勤工作,感谢我的家人一直以来的支持,感谢各位师长的谆谆教导,没有他们的鼎力相助,本书就无法顺利完成。
欧阳燊
2022年7月