编辑推荐 "十几年来,手机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是可爱大头贴、抠图工具、动感影集、电子书架、全景相册、即时聊天、长音频分享、短视频分享、附近交友、智能小车、问答机器人、智慧天眼、视频通话、直播带货。另外,本书还讲解了扫一扫、摇一摇、指南针、地球仪、卫星浑天仪等趣味应用的开发。 对于进阶实战图书来说,不光技术要新、工具要新,还要看得懂、学得会,能够真正在开发工作中学以致用。为此,本书致力于提供下列服务: 随书提供包括实战项目在内的所有客户端源码,以及与之配套的服务端源码。 书中的代码片段都添加了详尽的中文注释,乃至配图都尽可能标上中文说明,方便读者快速理解技术细节。 各章末尾列出了若干动手练习题,帮助读者及时检查自己的学习成果。 书后增列了附录A至附录E,从新技术时间线,到Android各版本适配,再到名词术语索引,可当作技术字典翻阅。 随书提供PPT教学课件,既有利于教学开展,也有利于自学巩固。 本书的主要代码采用Java 8编写,其中客户端的App代码基于Android Studio 4.2开发,并使用API 30的SDK(Android 11)编译与调试通过;配套的服务端源码采用Java Web框架,结合MySQL数据库,并基于IDEA开发。" 内容推荐 本书是一部Android开发的进阶实战教程,由点及面、由原理到实战,带领读者一步一步深入探索App开发的神奇世界。全书共分为13章。其中,前5章是单机部分,主要讲解App的图像加工、事件交互、动画特效、手机阅读、三维处理等App开发的高级进阶;中间4章是联网部分,主要讲解App的网络通信、音频处理、视频处理、定位导航等网络交互的高级进阶;后4章涉及人工智能方面的内容,主要讲解物联网、智能语音、人脸识别、在线直播等智能化应用进阶。书中在讲解知识点的同时给出了大量实战范例,各章末尾都提供了精心设计的实战项目(共14个),所有实战项目都提供了完整的源码,方便读者迅速将所学的知识运用到实际开发中。这14个流行App是可爱大头贴、抠图工具、动感影集、电子书架、全景相册、即时聊天、长音频分享、短视频分享、附近交友、智能小车、问答机器人、智慧天眼、视频通话、直播带货。另外,本书还讲解了扫一扫、摇一摇、指南针、地球仪、卫星浑天仪等趣味应用。本书既适合Android开发的广大从业者、有志于转型App开发的程序员、App开发的业余爱好者阅读,也可作为大中专院校与培训机构的Android开发课程的教材。 目录 第1章 图像加工 1 1.1 图像装饰 1 1.2 位图加工 8 1.3 自定义图形 14 1.4 实战项目:青葱岁月之可爱大头贴 20 1.5 小结 23 1.6 动手练习 23 第2章 事件交互 24 2.1 按键事件 24 2.2 触摸事件 29 2.3 根据触摸行为辨别手势动作 38 2.4 手势冲突处理 46 2.5 实战项目:仿美图秀秀的抠图工具 56 2.6 小结 59 2.7 动手练习 59 第3章 动画特效 60 3.1 帧动画 60 3.2 补间动画 67 3.3 属性动画 76 3.4 遮罩动画及滚动器 86 3.5 实战项目:仿手机QQ的动感影集 97 3.6 小结 104 3.7 动手练习 104 第4章 手机阅读 105 4.1 贝塞尔曲线 105 4.2 浏览PDF文件 111 4.3 JNI开发 122 4.4 实战项目:笔墨飘香之电子书架 134 4.5 小结 141 4.6 动手练习 141 第5章 三维处理 142 5.1 OpenGL 142 5.2 OpenGL ES 155 5.3 Vulkan 166 5.4 实战项目:虚拟现实的全景相册 171 5.5 小结 177 5.6 动手练习 177 第6章 网络通信 178 6.1 多线程 178 6.2 HTTP访问 186 6.3 即时通信 200 6.4 实战项目:仿微信的私聊和群聊 209 6.5 小结 221 6.6 动手练习 221 第7章 音韵留声 222 7.1 音量调节 222 7.2 音频录播 230 7.3 音效增强 244 7.4 实战项目:仿喜马拉雅的听说书 257 7.5 小结 265 7.6 动手练习 265 第8章 影像记录 266 8.1 经典相机 266 8.2 二代相机 279 8.3 画面截取 294 8.4 实战项目:仿抖音的短视频分享 305 8.5 小结 313 8.6 动手练习 313 第9章 定位导航 314 9.1 基础定位 314 9.2 扩展定位 323 9.3 地图导航 336 9.4 实战项目:仿微信的附近的人 347 9.5 小结 355 9.6 动手练习 355 第10章 物联网 356 10.1 传感器 356 10.2 传统蓝牙 365 10.3 低功耗蓝牙 381 10.4 实战项目:自动驾驶的智能小车 397 10.5 小结 403 10.6 动手练习 403 第11章 智能语音 404 11.1 原生语音处理 404 11.2 在线语音处理 411 11.3 基于机器学习的语音推断 421 11.4 实战项目:你问我答之小小机器人 426 11.5 小结 437 11.6 动手练习 437 第12章 人脸识别 438 12.1 简单图像识别 438 12.2 基于计算机视觉的人脸识别 449 12.3 人脸识别的更多应用 457 12.4 实战项目:寻人利器之智慧天眼 466 12.5 小结 471 12.6 动手练习 472 第13章 在线直播 473 13.1 搭建WebRTC的服务端 473 13.2 给App集成WebRTC 480 13.3 实战项目:仿微信的视频通话 489 13.4 实战项目:仿拼多多的直播带货 497 13.5 小结 507 13.6 动手练习 507 附录A 移动互联网行业的新技术发展简表 508 附录B Android各版本的新增功能简表 510 附录C Android常用开发库说明简表 512 附录D 移动开发专业术语索引 514 附录E 本书的服务端程序说明 517 |