再版前言
时光荏苒犹如白驹过隙,转瞬之间本书离初版已近两年,在此期间信息科技的快速发展令人目不暇接。物联网方兴未艾,虚拟现实潮起潮落,共享经济遍地开花,人工智能火得一塌糊涂,第四次工业革命蓄势待发,而移动互联网从狂飙回归到常态。
单就App开发而言,安卓系统版本从2016年的Android 7到2017年的Android 8再到2018年的Android 9,Android Studio的版本也从2016年的2.2更新到2.3、3.0、3.1直到2018年的3.2,同时Android的开发语言除了Java以外又多了一个Kotlin。从应用场景来说,早期只运行于手机和平板电脑的安卓系统,现在逐步拓展到了互联网电视、可穿戴设备、车载终端、智能家居等其他设备之上。而搭载安卓系统的智能手机,也从仅含通话、上网等基本功能的通信工具,逐渐演化成集拍照、定位、社交、支付等生活服务为一身的全能小秘书。
有鉴于此,本书亟需补充这期间风起云涌的新技术新知识,以跟上时代发展的滔滔浪潮。种种机缘际会,加上第一版读者的热忱建议,因此便有了重新修订之后的本书第二版问世。第二版图书不是第一版的简单更新,而是百炼成钢的全面升级,与第一版相比,第二版图书主要有以下五处重要的增补变化:
1. 工具更新颖
第二版的App开发全部基于Android 9.0环境,使用的开发工具为2018年9月发布的Android Studio 3.2,JNI用到的NDK则为2018年6月发布的r17c。相关的功能点都根据上述最新版本的工具展开论述,比如Android 8新增的画中画功能、Android 9新增的WebP动图播放、Android Studio 3新增的内存用量查看窗口,以及NDK的r17不再支持ARM5(armeabi)的so文件编译等。
2. 技术更先进
移动互联网的后继发展方向如物联网、虚拟现实、人工智能等如火如荼,第二版为此投入了大量笔墨深入描述相关技术细节,例如物联网涉及到的二维码、NFC、红外、蓝牙等,虚拟现实涉及到的陀螺仪、三维图形、全景照片等,人工智能涉及到的TTS、语音识别、语音合成等,还有最新科研成果如北斗导航、SM3国密等,本书都有专门章节加以叙述。
3. 案例更丰富
本书的一大特色是突出实战,每章末尾都给出了技术精炼的实战项目。第二版更是将这个优良传统发扬光大,除了原有的十几个实战项目之外,又对房贷计算器、万年历、影视播放器等开辟专门章节详细描述,另外新增了电商头部、应用超市、全景图库、矢量动画、电子书架等全新的实战项目,力图把常见的App种类一网打尽。
4. 代码更易懂
作为一部软件开发方面的专著,少不了给出范例代码进行演示,代码可读易懂的重要性毋庸置疑。第二版在这方面大力改善,首先对书中的代码全面添加注释,务求让读者看得懂、学得会;其次,针对Android不同系统之间的方法差异,分别说明每个版本的代码兼容处理;再次,在实战项目示例中,讲清楚每个代码的业务逻辑,以及它们之间的相互关系。
5. 编排更合理
第一版对个别知识点的编排不甚合理,第二版对这些知识点重新组织编排,使之更连贯、更系统。比如内容提供器ContentProvider原来只在第13章做介绍,再版之后将其提前到第4章的数据存储中进行介绍,然后分别在第6章、第10章、第13章的实战项目中加以运用,有助于不断地巩固和提高。又如蓝牙BlueTooth原本只在第14章的一个小节中作介绍,再版之后将其提前到第9章的短距离通信中进行介绍,然后分别在第9章的实战项目蓝牙音箱,以及第14章的蓝牙传输中加以运用,从而拓宽了这些技术的应用场景。
综上所述,经过精心修订的第二版图书,无论是广度还是深度,从数量到质量,都比第一版有了飞跃的提升。全书的写作目的,不但是教会读者怎么快速开发一个好玩、好看、好用的App,更是让读者领略行业前沿的移动互联网学科。深度揭秘流行App背后的手机开发技术,展示移动信息科技的最新工程实践,这才是第二版想要呈献给读者的知识盛宴。
第二版的所有代码都基于Android Studio 3.2开发,并使用API 28的SDK(Android 9.0)编译与调试通过。读者在阅读本书时,若对书中内容有任何疑问,均可在笔者的CSDN博客(http://blog.csdn.net/aqi00)留言。也可关注笔者的微信公众号“老欧说安卓”,更快更方便地阅读技术干货。至于本书的最新源码,则可访问笔者的github主页获取,github地址是https://github.com/aqi00/android2;也可访问百度网盘下载,下载页面是https://pan.baidu.com/s/14NE2DD-frXxuDXUAlTfRaw(注意区分数字和大小写)。
最后,感谢王金柱编辑的热情指点,感谢出版社同仁的辛勤工作,感谢我的家人一直以来的支持,感谢各位师长的谆谆教导,没有他们的鼎力相助,本书就无法顺利完成。
欧阳燊
2018年10月