展开全部

主编推荐语

深度解析Android手机定制开发中的重点和难点Telephony通信模块。

内容简介

随着Android系统平台的应用越来越广泛,更多人加入到Android平台的定制研发中来。Android的基本通信功能是Android系统定制的核心模块,本书主要围绕Android Telephony和融合通信两个核心部分展开。Android Telephony部分从接打电话、网络服务、数据上网三个功能解析Telephony。

全书共10章,主要内容包括初识Android、搭建Android源代码编译调试环境、深入解析通话流程、详解Telecom、详解TeleService、Voice Call语音通话模型、ServiceState网络服务、Data Call移动数据业务、SMS & MMS业务、Radio Interface Layer)。

本书适合计算机科学技术、信息技术、通信工程、软件工程等专业的研究生、本科、高职高专学生使用。

目录

  • 版权信息
  • 内容提要
  • 前言
  • 第1章 初识Android
  • 1.1 智能手机的系统结构
  • 1.2 Android系统架构
  • 1.2.1 应用层
  • 1.2.2 应用框架层
  • 1.2.3 系统运行库层
  • 1.2.4 核心层
  • 1.3 Android Telephony框架结构
  • 1.3.1 系统运行库层的HAL
  • 1.3.2 简析HAL结构
  • 1.3.3 Android为什么引入HAL
  • 1.3.4 Android中HAL的运行结构
  • 本章小结
  • 第2章 搭建Android源代码编译调试环境
  • 2.1 Ubuntu Linux操作系统及工具安装
  • 2.1.1 PC配置建议
  • 2.1.2 Ubuntu安装光盘制作
  • 2.1.3 Ubuntu安装过程
  • 2.1.4 安装OpenJDK
  • 2.1.5 Ubuntu系统工具包更新升级
  • 2.2 Android源代码下载及编译过程
  • 2.2.1 工作目录设置
  • 2.2.2 源代码下载
  • 2.2.3 开始编译Android源代码
  • 2.2.4 编译单个模块
  • 2.3 Android Studio及SDK
  • 2.3.1 下载和配置Android Studio
  • 2.3.2 Android SDK下载及配置和使用
  • 2.3.3 使用Android SDK启动Android虚拟设备
  • 2.3.4 Android调试工具adb的使用方法
  • 2.3.5 相关技巧汇总
  • 2.4 在Google手机上调试Android源码
  • 2.4.1 Google手机对应编译选项
  • 2.4.2 Google手机刷入工厂镜像
  • 2.4.3 编译本地镜像并刷入Google手机
  • 2.4.4 Google手机上调试Android源码
  • 2.4.5 关键问题总结
  • 本章小结
  • 第3章 深入解析通话流程
  • 3.1 拨号流程分析
  • 3.1.1 打开Nexus 6P手机的拨号盘
  • 3.1.2 进入拨号界面DialtactsActivity
  • 3.1.3 DialpadFragment拨号盘
  • 3.1.4 ITelecomService接收拨号请求服务
  • 3.1.5 CallsManager拨号流程处理
  • 3.1.6 IInCallService服务的响应过程
  • 3.1.7 继续分析CallsManager.placeOutgoingCall
  • 3.1.8 Telecom应用拨号流程回顾与总结
  • 3.1.9 IConnectionService服务的响应过程
  • 3.1.10 TelecomAdapter接收消息回调
  • 3.1.11 拨号流程总结
  • 3.2 来电流程分析
  • 3.2.1 分析radio来电日志
  • 3.2.2 UNSOL_RESPONSE_CALL_STATE_CHANGED消息处理
  • 3.2.3 扩展RegistrantList消息处理机制
  • 3.2.4 GsmCdmaCallTracker消息处理
  • 3.2.5 ITelecomService处理来电消息
  • 3.2.6 来电流程总结
  • 3.3 通话总结
  • 3.3.1 通话关键代码汇总
  • 3.3.2 通话状态更新消息上报流程
  • 3.3.3 控制通话消息下发流程
  • 3.4 建立Android通话模型
  • 本章小结
  • 第4章 详解Telecom
  • 4.1 Telecom应用加载入口
  • 4.1.1 TelecomManager类核心逻辑分析
  • 4.1.2 Telecom应用代码汇总
  • 4.1.3 ITelecomService的onBind过程
  • 4.1.4 第二个拨号入口
  • 4.2 Telecom交互模型
  • 4.2.1 汇总frameworks/base/telecomm代码
  • 4.2.2 绑定IInCallService机制
  • 4.2.3 绑定IConnectionService机制
  • 4.2.4 演进Telecom交互模型
  • 4.3 核心Listener回调消息处理
  • 4.3.1 CallsManagerListener
  • 4.3.2 Call.Listener
  • 4.3.3 CreateConnectionResponse
  • 4.3.4 总结Listener消息
  • 4.4 扩展CallsManager
  • 4.4.1 记录通话日志
  • 4.4.2 耳机Hook事件
  • 4.4.3 通知栏信息同步
  • 本章小结
  • 第5章 详解TeleService
  • 5.1 加载过程分析
  • 5.1.1 应用基本信息
  • 5.1.2 PhoneGlobals.onCreate
  • 5.1.3 TelephonyGlobals.onCreate
  • 5.2 Telephony Phone
  • 5.2.1 GsmCdmaPhone
  • 5.2.2 Composition(组合)关系
  • 5.2.3 Facade Pattern
  • 5.2.4 Handler消息处理机制
  • 5.3 扩展PhoneAccount
  • 5.3.1 PhoneAccount初始化过程
  • 5.3.2 PhoneAccount注册响应
  • 5.3.3 PhoneAccount在拨号流程中的作用分析
  • 5.3.4 小结
  • 5.4 TeleService服务
  • 5.4.1 phone系统服务
  • 5.4.2 isub系统服务
  • 5.4.3 IConnectionService应用服务
  • 本章小结
  • 第6章 Voice Call语音通话模型
  • 6.1 详解GsmCdmaCallTracker
  • 6.1.1 代码结构解析
  • 6.1.2 Handler消息处理方式
  • 6.1.3 与RILJ对象的交互机制
  • 6.2 handlePollCalls方法
  • 6.2.1 准备阶段
  • 6.2.2 更新通话相关信息
  • 6.2.3 发出通知
  • 6.2.4 更新mState
  • 6.3 通话管理模型分析
  • 6.3.1 GsmCdmaCall
  • 6.3.2 GsmCdmaConnection
  • 6.3.3 DriverCall、Call、Connection
  • 6.4 补充通话连接断开处理机制
  • 6.4.1 本地主动挂断通话
  • 6.4.2 远端断开通话连接
  • 6.5 区分Connection
  • 6.6 扩展InCallUi
  • 6.6.1 初始化过程
  • 6.6.2 addCall
  • 6.6.3 InCallUi通话界面
  • 6.6.4 updateCall
  • 6.7 验证Call运行模型
  • 6.7.1 Telephony Voice Call
  • 6.7.2 Telecom Call
  • 6.7.3 InCallUi Call
  • 本章小结
  • 第7章 ServiceState网络服务
  • 7.1 ServiceState
  • 7.1.1 ServiceState类的本质
  • 7.1.2 关键常量信息
  • 7.1.3 关键属性
  • 7.1.4 关键方法
  • 7.2 ServiceStateTracker运行机制详解
  • 7.2.1 核心类图
  • 7.2.2 代码结构
  • 7.2.3 Handler消息处理机制
  • 7.2.4 与RILJ对象的交互机制
  • 7.3 handlePollStateResult方法
  • 7.3.1 异常处理
  • 7.3.2 handlePollStateResultMessage
  • 7.3.3 继续更新mNewSS
  • 7.3.4 完成收尾工作
  • 7.4 *#*#4636#*#*测试工具
  • 7.4.1 网络服务信息
  • 7.4.2 扩展ITelephonyRegistry
  • 7.4.3 展示小区信息
  • 7.4.4 小区信息更新源头
  • 7.4.5 信号强度实时变化
  • 7.5 飞行模式
  • 7.5.1 飞行模式开启关闭入口逻辑
  • 7.5.2 Radio模块开启关闭
  • 7.5.3 WiFi模块开启关闭
  • 7.5.4 蓝牙模块开启关闭
  • 7.6 扩展SIM卡业务
  • 7.6.1 SIM卡业务分析
  • 7.6.2 驻网过程分析
  • 7.6.3 SoftSim业务实现分析
  • 本章小结
  • 第8章 Data Call移动数据业务
  • 8.1 DcTracker初始化过程
  • 8.1.1 Handler消息注册
  • 8.1.2 初始化ApnContext
  • 8.1.3 认识APN
  • 8.1.4 创建DcController
  • 8.1.5 注册Obschmerver
  • 8.1.6 广播接收器
  • 8.1.7 加载ApnSetting
  • 8.2 解析StateMachine
  • 8.2.1 State设计模式
  • 8.2.2 StateMachine核心类
  • 8.2.3 初始化流程
  • 8.2.4 运行流程
  • 8.2.5 小结
  • 8.3 DataConnection
  • 8.3.1 关键属性
  • 8.3.2 关键方法
  • 8.3.3 StateMachine初始化流程
  • 8.4 开启移动数据业务
  • 8.4.1 流程分析
  • 8.4.2 前置条件分析
  • 8.4.3 DcActiveState收尾工作
  • 8.4.4 Suspend挂起状态
  • 8.4.5 查看手机上网基本信息
  • 8.5 关闭移动数据业务
  • 8.6 DataConnection状态转换
  • 8.7 获取Android手机上网数据包
  • 8.7.1 使用tcpdump工具抓取TCP/IP数据包
  • 8.7.2 使用Wireshark软件分析TCP/IP数据包
  • 本章小结
  • 第9章 SMS&MMS业务
  • 9.1 短信发送流程
  • 9.1.1 进入短信应用
  • 9.1.2 短信编辑界面
  • 9.1.3 Action处理机制
  • 9.1.4 继续跟进短信发送流程
  • 9.1.5 phone进程中的短信发送流程
  • 9.2 扩展短信发送业务
  • 9.2.1 确认短信发送结果
  • 9.2.2 重发机制
  • 9.2.3 状态报告
  • 9.3 短信接收流程
  • 9.3.1 RIL接收短信消息
  • 9.3.2 GsmInboundSmsHandler
  • 9.3.3 Messaging应用接收新短信
  • 9.3.4 PDU
  • 9.3.5 短信业务小结
  • 9.4 彩信关键业务逻辑
  • 9.4.1 彩信发送入口
  • 9.4.2 imms系统服务
  • 9.4.3 彩信发送流程
  • 9.4.4 Data Call
  • 9.4.5 doHttp
  • 9.4.6 接收彩信
  • 9.4.7 MmsService小结
  • 本章小结
  • 第10章 Radio Interface Layer
  • 10.1 解析RILJ
  • 10.1.1 认识RIL类
  • 10.1.2 RILRequest
  • 10.1.3 IRadio关联的服务
  • 10.1.4 RIL消息分类
  • 10.1.5 Solicited Request
  • 10.1.6 Solicited Response
  • 10.1.7 UnSolicited
  • 10.2 详解rild
  • 10.2.1 RIL_startEventLoop
  • 10.2.2 获取RIL_RadioFunctions
  • 10.2.3 注册RIL_RadioFunctions
  • 10.3 libril初始化流程
  • 10.3.1 RIL_startEventLoop
  • 10.3.2 RIL_register
  • 10.4 扩展hal接口
  • 10.4.1 增加接口定义
  • 10.4.2 验证生成的代码
  • 10.4.3 实现新增接口
  • 10.4.4 运行结果验证
  • 10.5 RILC运行机制
  • 10.5.1 Solicited消息
  • 10.5.2 UnSolicited消息
  • 本章小结
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。