前言
自2008年10月第一部Android智能手机发布以来,移动互联网行业已经走过了十几年的发展历程,其间移动网络制式从3G到4G再到5G,手机的数据传输速率越来越快,新形态的App犹如雨后春笋不断更新和迭代。
十几年来,手机App从早期的通信、拍照、上网等基本功能,到即时通信、电子商务、地图导航等高级功能,再到智能语音、人脸识别、视频通话等最新应用,以Android为代表的App开发热潮方兴未艾。物联网、虚拟现实、人工智能几个方向更是火热,最近几年涌现的新技术层出不穷,诸如OpenGL ES、OpenCV、WebSocket、WebRTC、低功耗蓝牙、TensorFlow Lite等不断推陈出新。
新技术的发展如此迅猛,就要求开发者要时刻关注技术发展趋势,并努力学习加以应用。也正是因为新技术的迭代速度太快,技术书籍往往无法及时跟上。目前市面上有关App进阶的书籍为数不多,特别是新技术的实战类书籍。掌握新技术已经很不容易了,还要把新技术应用于实战项目更是难上加难。尽管存在种种挑战和困难,本书仍然引入并介绍这些新技术,包括OpenGL ES、OpenCV、WebSocket、WebRTC、低功耗蓝牙、TensorFlow Lite等,力图给广大开发者呈现相关新技术的实战前景。
全书按照知识点分门别类,共分为13章。其中,前5章是单机部分,主要讲解App的图像加工、事件交互、动画特效、手机阅读、三维处理等单个App的高级进阶,侧重于控件美化、操控优化、动感界面、虚拟现实等功能实现;中间4章是联网部分,主要讲解App的网络通信、音频处理、视频处理、定位导航等网络交互的高级进阶,侧重于图文分享、音频分享、视频分享、位置分享等功能实现;后4章涉及人工智能方面的内容,主要讲解物联网、智能语音、人脸识别、在线直播等智能化应用进阶,侧重于无线遥控、机器听觉、机器视觉、实时音视频等功能实现。
书中在讲解知识点的同时给出了大量实战范例,各章末尾都提供了精心设计的实战项目(一共14个App实战项目),方便读者迅速将所学的知识运用到实际开发中。通过本书的学习,读者可以参照源码来掌握这14个流行App的开发技术,这14个App是可爱大头贴、抠图工具、动感影集、电子书架、全景相册、即时聊天、长音频分享、短视频分享、附近交友、智能小车、问答机器人、智慧天眼、视频通话、直播带货。另外,本书还讲解了扫一扫、摇一摇、指南针、地球仪、卫星浑天仪等趣味应用的开发。
本书不是一本零基础教程,而是一部App进阶书籍,是《Android App开发入门与项目实战》的姊妹篇。《Android App开发入门与项目实战》专注于介绍App入门开发,而本书专注于介绍App进阶开发。两本书的关系既是内容互补,又是前后衔接。
学习本书之前,读者需要具备Java编程基础和App开发基础。其中,Java语言要求掌握Java 8的面向对象编程,如果读者不熟悉Java编程,可先阅读笔者的Java开发专著《好好学Java:从零基础到项目实战》。至于App开发基础,建议通读笔者的App入门教程《Android App开发入门与项目实战》(该书同样基于Android 11进行讲解,并详细介绍了新特性、新框架,如Shortcuts、ViewPager2、ImageDecoder、Room、Gson、Glide等,非常适合入门App开发。
对于进阶实战图书来说,不光技术要新、工具要新,还要看得懂、学得会,能够真正在开发工作中学以致用。为此,本书致力于提供下列服务:
- 随书提供包括实战项目在内的所有客户端源码,以及与之配套的服务端源码。
- 书中的代码片段都添加了详尽的中文注释,乃至配图都尽可能标上中文说明,方便读者快速理解技术细节。
- 各章末尾列出了若干动手练习题,帮助读者及时检查自己的学习成果。
- 书后增列了附录A至附录E,从新技术时间线,到Android各版本适配,再到名词术语索引,可当作技术字典翻阅。
- 随书提供PPT教学课件,既有利于教学开展,也有利于自学巩固。
本书的主要代码采用Java 8编写,其中客户端的App代码基于Android Studio 4.2开发,并使用API 30的SDK(Android 11)编译与调试通过;配套的服务端源码采用Java Web框架,结合MySQL数据库,并基于IDEA开发。
源码与PPT下载
本书配套的源码与教学PPT课件,需用微信扫描下边二维码获取。如果有疑问,请联系booksaga@126.com,邮件主题为“Android App开发进阶与项目实战”。
最后,感谢王金柱编辑的热情指点,感谢出版社其他人员的辛勤工作,感谢我的家人一直以来的支持,感谢各位师长的谆谆教导,没有他们的鼎力相助,本书就无法顺利完成。
欧阳燊
2021年8月