万本电子书0元读

万本电子书0元读

顶部广告

Android Telephony原理解析与开发指南电子书

Android系统工程师和软件发工程师倾力造Android专题书籍 知识框架完整、条理清晰、理论和实战相结合 深度解析Android手机定制发中的重和难Telephony通信模块

售       价:¥

纸质售价:¥44.50购买纸书

128人正在读 | 1人评论 6.2

作       者:杨青平

出  版  社:人民邮电出版社

出版时间:2018-08-01

字       数:37.3万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(1条)
  • 读书简介
  • 目录
  • 累计评论(1条)
随着Android系统平台的应用越来越广泛,更多人加到Android平台的定制研发中来。Android的基本通信功能是Android系统定制的核心模块,本书主要围绕Android Telephony和融合通信两个核心部分展。Android Telephony部分从电话、网络服务、数据上网三个功能解析Telephony。 全书共10章,主要内容包括初识Android、搭建Android源代码编译调试环境、深解析通话流程、详解Telecom、详解TeleService、Voice Call语音通话模型、ServiceState网络服务、Data Call移动数据业务、SMS & MMS业务、Radio Interface Layer)。 本书适合计算机科学技术、信息技术、通信工程、软件工程等专业的研究生、本科、高职高专学生使用。<br/>【推荐语】<br/>Android系统工程师和软件发工程师倾力造Android专题书籍 知识框架完整、条理清晰、理论和实战相结合 深度解析Android手机定制发中的重和难Telephony通信模块<br/>【作者】<br/>杨青平,著有《深解析Android:Telephony原理剖析及实践》,Android系统工程师和软件发工程师,热衷于Android用源代码和系统原理的研究,对Android的系统架构、设计原理以及Telephony和Framework等核心功能模块的工作机制有非常深的研究。目前任职于国内AndroidOS提供商ThunderSoft(中科创达),担任系统架构师。<br/>
目录展开

内容提要

前言

第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 注册Observer

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消息

本章小结

累计评论(1条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部