Android Telephony原理解析与开发指南
上QQ阅读APP看书,第一时间看更新

前言

随着智能手机的日益普及,移动互联网正深刻改变着我们的日常生活,iOS和Android两大移动操作系统功不可没。由于Android的开源,各大厂商纷纷通过定制Android系统降低研发成本和周期,从而快速推出智能产品。

Telephony作为Android系统的核心业务,包括接打电话、手机上网、短信、彩信等应用场景,也是终端用户使用最多、最频繁的业务。因此,在定制Android系统的开发过程中,对Telephony业务的定制和修改也非常多,如优化通话界面、过滤骚扰短信和电话,分析短信内容和优化展示关键信息等,既能方便用户操作和使用,提升用户体验,也能增加广告收入。

Android Telephony业务跨度大,涉及多个层之间的交互:应用层、系统框架层、HAL硬件抽象层和BP Modem。理解和掌握Android Telephony业务和技术,方能更好地完成Android系统定制、业务扩展和数据挖掘。

本书主要特点如下。

1. 解析源代码并总结Android Telephony业务模型、设计原理和系统架构

Android的源代码汇集了大量Google工程师的设计思想和理念。本书对Telephony源代码中的关键设计模式、设计原理和实现方式做了详细的分析和总结,可帮助读者拓展思路和加强训练,以提升软件设计水平和编码能力。

本书由浅入深地详细讲解了搭建Android编译环境、分析源代码并推导出Telephony业务模型,可帮助读者提升Ubuntu系统动手能力、Java语言编程能力、Android开发能力、UML阅读能力,理解和掌握常用的设计模式,以及Android系统平台定制的核心工作。

2. 合理、有效的组织

本书以Telephony关键业务流程为主线,分析和总结主要业务、核心实现和业务模型。首先分析和总结Telephony业务模型中Voice Call语音通话、ServiceState网络服务、Data Call移动数据和SMS & MMS的关键业务流程和核心实现机制,然后扩展Telephony Phone、Voice Call、Data Call等关键业务模型,同时输出时序图、类图、状态图等UML图和架构图,以帮助读者理解和掌握Telephony业务。

3. 内容充实、实用并结合实践

本书紧紧围绕Android Telephony关键业务展开,主要包括Voice Call语音通话、ServiceState网络服务、Data Call移动数据和SMS&MMS中需要优化和定制的关键业务,以及Radio Interface Layer(无线通信接口抽象层)的消息处理机制和系统架构。

本书总结的Telephony业务模型可在华为Nexus 6P手机上进行运行和验证,使读者对Telephony业务和实现有更加直观的认识和理解,并掌握调试Android代码的方法和技巧。

尽管作者在写作过程中力求准确、完善,但书中不妥或错误之处仍在所难免,殷切希望广大读者批评指正!恳请读者一旦发现错误,于百忙之中及时与作者联系,以便尽快更正,作者将不胜感激。E-mail:android_tele@163.com。

杨青平
2018年4月