注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計Android Telephony原理解析與開發(fā)指南

Android Telephony原理解析與開發(fā)指南

Android Telephony原理解析與開發(fā)指南

定 價:¥59.80

作 者: 楊青平
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787115489159 出版時間: 2018-08-01 包裝: 平裝
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  隨著Android系統(tǒng)平臺的應(yīng)用越來越廣泛,更多人加入到Android平臺的定制研發(fā)中來。Android的基本通信功能是Android系統(tǒng)定制的核心模塊,本書主要圍繞Android Telephony和融合通信兩個核心部分展開。Android Telephony部分從接打電話、網(wǎng)絡(luò)服務(wù)、數(shù)據(jù)上網(wǎng)三個功能解析Telephony。全書共10章,主要內(nèi)容包括初識Android、搭建Android源代碼編譯調(diào)試環(huán)境、深入解析通話流程、詳解Telecom、詳解TeleService、Voice Call語音通話模型、ServiceState網(wǎng)絡(luò)服務(wù)、Data Call移動數(shù)據(jù)業(yè)務(wù)、SMS & MMS業(yè)務(wù)、Radio Interface Layer)。本書適合計算機(jī)科學(xué)技術(shù)、信息技術(shù)、通信工程、軟件工程等專業(yè)的研究生、本科、高職高專學(xué)生使用。

作者簡介

  楊青平,著有《深入解析Android:Telephony原理剖析及實(shí)踐》,Android系統(tǒng)工程師和軟件開發(fā)工程師,熱衷于Android用源代碼和系統(tǒng)原理的研究,對Android的系統(tǒng)架構(gòu)、設(shè)計原理以及Telephony和Framework等核心功能模塊的工作機(jī)制有非常深入的研究。目前任職于國內(nèi)AndroidOS提供商ThunderSoft(中科創(chuàng)達(dá)),擔(dān)任系統(tǒng)架構(gòu)師。

圖書目錄

第 1章 初識Android 1

1.1 智能手機(jī)的系統(tǒng)結(jié)構(gòu) 1

1.2 Android系統(tǒng)架構(gòu) 2

1.2.1 應(yīng)用層 3

1.2.2 應(yīng)用框架層 3

1.2.3 系統(tǒng)運(yùn)行庫層 3

1.2.4 核心層 4

1.3 Android Telephony框架結(jié)構(gòu) 5

1.3.1 系統(tǒng)運(yùn)行庫層的HAL 6

1.3.2 簡析HAL結(jié)構(gòu) 6

1.3.3 Android為什么引入HAL 7

1.3.4 Android中HAL的運(yùn)行結(jié)構(gòu) 7

本章小結(jié) 8

第 2章 搭建Android源代碼編譯調(diào)試環(huán)境 9

2.1 Ubuntu Linux操作系統(tǒng)及工具安裝 10

2.1.1 PC配置建議 10

2.1.2 Ubuntu安裝光盤制作 10

2.1.3 Ubuntu安裝過程 10

2.1.4 安裝OpenJDK 12

2.1.5 Ubuntu系統(tǒng)工具包更新升級 13

2.2 Android源代碼下載及編譯過程 13

2.2.1 工作目錄設(shè)置 13

2.2.2 源代碼下載 13

2.2.3 開始編譯Android源代碼 14

2.2.4 編譯單個模塊 16

2.3 Android Studio及SDK 17

2.3.1 下載和配置Android Studio 17

2.3.2 Android SDK下載及配置和使用 17

2.3.3 使用Android SDK啟動Android虛擬設(shè)備 19

2.3.4 Android調(diào)試工具adb的使用方法 20

2.3.5 相關(guān)技巧匯總 20

2.4 在Google手機(jī)上調(diào)試Android源碼 21

2.4.1 Google手機(jī)對應(yīng)編譯選項 21

2.4.2 Google手機(jī)刷入工廠鏡像 21

2.4.3 編譯本地鏡像并刷入Google手機(jī) 22

2.4.4 Google手機(jī)上調(diào)試Android源碼 25

2.4.5 關(guān)鍵問題總結(jié) 26

本章小結(jié) 27

第3章 深入解析通話流程 29

3.1 撥號流程分析 29

3.1.1 打開Nexus 6P手機(jī)的撥號盤 30

3.1.2 進(jìn)入撥號界面DialtactsActivity 30

3.1.3 DialpadFragment撥號盤 32

3.1.4 ITelecomService接收撥號請求服務(wù) 33

3.1.5 CallsManager撥號流程處理 35

3.1.6 IInCallService服務(wù)的響應(yīng)過程 40

3.1.7 繼續(xù)分析CallsManager.placeOutgoingCall 46

3.1.8 Telecom應(yīng)用撥號流程回顧與總結(jié) 50

3.1.9 IConnectionService服務(wù)的響應(yīng)過程 51

3.1.10 TelecomAdapter接收消息回調(diào) 55

3.1.11 撥號流程總結(jié) 56

3.2 來電流程分析 57

3.2.1 分析radio來電日志 58

3.2.2 UNSOL_RESPONSE_CALL_STATE_CHANGED消息處理 58

3.2.3 擴(kuò)展RegistrantList消息處理機(jī)制 59

3.2.4 GsmCdmaCallTracker消息處理 61

3.2.5 ITelecomService處理來電消息 63

3.2.6 來電流程總結(jié) 66

3.3 通話總結(jié) 66

3.3.1 通話關(guān)鍵代碼匯總 66

3.3.2 通話狀態(tài)更新消息上報流程 68

3.3.3 控制通話消息下發(fā)流程 69

3.4 建立Android通話模型 70

本章小結(jié) 71

第4章 詳解Telecom 73

4.1 Telecom應(yīng)用加載入口 73

4.1.1 TelecomManager類核心邏輯分析 74

4.1.2 Telecom應(yīng)用代碼匯總 76

4.1.3 ITelecomService的onBind過程 77

4.1.4 第 二個撥號入口 79

4.2 Telecom交互模型 79

4.2.1 匯總frameworks/base/telecomm代碼 80

4.2.2 綁定IInCallService機(jī)制 81

4.2.3 綁定IConnectionService機(jī)制 82

4.2.4 演進(jìn)Telecom交互模型 85

4.3 核心Listener回調(diào)消息處理 86

4.3.1 CallsManagerListener 86

4.3.2 Call.Listener 88

4.3.3 CreateConnectionResponse 90

4.3.4 總結(jié)Listener消息 90

4.4 擴(kuò)展CallsManager 92

4.4.1 記錄通話日志 92

4.4.2 耳機(jī)Hook事件 93

4.4.3 通知欄信息同步 93

本章小結(jié) 94

第5章 詳解TeleService 95

5.1 加載過程分析 95

5.1.1 應(yīng)用基本信息 96

5.1.2 PhoneGlobals.onCreate 97

5.1.3 TelephonyGlobals.onCreate 98

5.2 Telephony Phone 98

5.2.1 GsmCdmaPhone 99

5.2.2 Composition(組合)關(guān)系 101

5.2.3 Facade Pattern 102

5.2.4 Handler消息處理機(jī)制 103

5.3 擴(kuò)展PhoneAccount 105

5.3.1 PhoneAccount初始化過程 105

5.3.2 PhoneAccount注冊響應(yīng) 108

5.3.3 PhoneAccount在撥號流程中的作用分析 109

5.3.4 小結(jié) 112

5.4 TeleService服務(wù) 113

5.4.1 phone系統(tǒng)服務(wù) 113

5.4.2 isub系統(tǒng)服務(wù) 115

5.4.3 IConnectionService應(yīng)用服務(wù) 118

本章小結(jié) 123

第6章 Voice Call語音通話模型 125

6.1 詳解GsmCdmaCallTracker 125

6.1.1 代碼結(jié)構(gòu)解析 126

6.1.2 Handler消息處理方式 127

6.1.3 與RILJ對象的交互機(jī)制 130

6.2 handlePollCalls方法 134

6.2.1 準(zhǔn)備階段 134

6.2.2 更新通話相關(guān)信息 135

6.2.3 發(fā)出通知 140

6.2.4 更新mState 141

6.3 通話管理模型分析 142

6.3.1 GsmCdmaCall 143

6.3.2 GsmCdmaConnection 143

6.3.3 DriverCall、Call、Connection 146

6.4 補(bǔ)充通話連接斷開處理機(jī)制 149

6.4.1 本地主動掛斷通話 149

6.4.2 遠(yuǎn)端斷開通話連接 152

6.5 區(qū)分Connection 154

6.6 擴(kuò)展InCallUi 155

6.6.1 初始化過程 155

6.6.2 addCall 158

6.6.3 InCallUi通話界面 160

6.6.4 updateCall 165

6.7 驗(yàn)證Call運(yùn)行模型 166

6.7.1 Telephony Voice Call 167

6.7.2 Telecom Call 170

6.7.3 InCallUi Call 171

本章小結(jié) 173

第7章 ServiceState網(wǎng)絡(luò)服務(wù) 175

7.1 ServiceState 176

7.1.1 ServiceState類的本質(zhì) 176

7.1.2 關(guān)鍵常量信息 177

7.1.3 關(guān)鍵屬性 177

7.1.4 關(guān)鍵方法 178

7.2 ServiceStateTracker運(yùn)行機(jī)制詳解 179

7.2.1 核心類圖 179

7.2.2 代碼結(jié)構(gòu) 180

7.2.3 Handler消息處理機(jī)制 181

7.2.4 與RILJ對象的交互機(jī)制 184

7.3 handlePollStateResult方法 186

7.3.1 異常處理 186

7.3.2 handlePollStateResultMessage 187

7.3.3 繼續(xù)更新mNewSS 190

7.3.4 完成收尾工作 191

7.4 *#*#4636#*#*測試工具 193

7.4.1 網(wǎng)絡(luò)服務(wù)信息 194

7.4.2 擴(kuò)展ITelephonyRegistry 196

7.4.3 展示小區(qū)信息 197

7.4.4 小區(qū)信息更新源頭 198

7.4.5 信號強(qiáng)度實(shí)時變化 199

7.5 飛行模式 201

7.5.1 飛行模式開啟關(guān)閉入口邏輯 201

7.5.2 Radio模塊開啟關(guān)閉 202

7.5.3 WiFi模塊開啟關(guān)閉 202

7.5.4 藍(lán)牙模塊開啟關(guān)閉 202

7.6 擴(kuò)展SIM卡業(yè)務(wù) 203

7.6.1 SIM卡業(yè)務(wù)分析 203

7.6.2 駐網(wǎng)過程分析 204

7.6.3 SoftSim業(yè)務(wù)實(shí)現(xiàn)分析 205

本章小結(jié) 206

第8章 Data Call移動數(shù)據(jù)業(yè)務(wù) 207

8.1 DcTracker初始化過程 207

8.1.1 Handler消息注冊 208

8.1.2 初始化ApnContext 208

8.1.3 認(rèn)識APN 210

8.1.4 創(chuàng)建DcController 212

8.1.5 注冊O(shè)bserver 213

8.1.6 廣播接收器 213

8.1.7 加載ApnSetting 213

8.2 解析StateMachine 215

8.2.1 State設(shè)計模式 215

8.2.2 StateMachine核心類 215

8.2.3 初始化流程 216

8.2.4 運(yùn)行流程 217

8.2.5 小結(jié) 218

8.3 DataConnection 219

8.3.1 關(guān)鍵屬性 220

8.3.2 關(guān)鍵方法 220

8.3.3 StateMachine初始化流程 221

8.4 開啟移動數(shù)據(jù)業(yè)務(wù) 222

8.4.1 流程分析 222

8.4.2 前置條件分析 227

8.4.3 DcActiveState收尾工作 231

8.4.4 Suspend掛起狀態(tài) 232

8.4.5 查看手機(jī)上網(wǎng)基本信息 232

8.5 關(guān)閉移動數(shù)據(jù)業(yè)務(wù) 233

8.6 DataConnection狀態(tài)轉(zhuǎn)換 233

8.7 獲取Android手機(jī)上網(wǎng)數(shù)據(jù)包 234

8.7.1 使用tcpdump工具抓取TCP/IP數(shù)據(jù)包 234

8.7.2 使用Wireshark軟件分析TCP/IP數(shù)據(jù)包 235

本章小結(jié) 235

第9章 SMS&MMS業(yè)務(wù) 236

9.1 短信發(fā)送流程 236

9.1.1 進(jìn)入短信應(yīng)用 236

9.1.2 短信編輯界面 237

9.1.3 Action處理機(jī)制 239

9.1.4 繼續(xù)跟進(jìn)短信發(fā)送流程 241

9.1.5 phone進(jìn)程中的短信發(fā)送流程 243

9.2 擴(kuò)展短信發(fā)送業(yè)務(wù) 245

9.2.1 確認(rèn)短信發(fā)送結(jié)果 245

9.2.2 重發(fā)機(jī)制 246

9.2.3 狀態(tài)報告 247

9.3 短信接收流程 247

9.3.1 RIL接收短信消息 247

9.3.2 GsmInboundSmsHandler 248

9.3.3 Messaging應(yīng)用接收新短信 250

9.3.4 PDU 251

9.3.5 短信業(yè)務(wù)小結(jié) 252

9.4 彩信關(guān)鍵業(yè)務(wù)邏輯 253

9.4.1 彩信發(fā)送入口 253

9.4.2 imms系統(tǒng)服務(wù) 254

9.4.3 彩信發(fā)送流程 255

9.4.4 Data Call 256

9.4.5 doHttp 259

9.4.6 接收彩信 259

9.4.7 MmsService小結(jié) 260

本章小結(jié) 261

第 10章 Radio Interface Layer 262

10.1 解析RILJ 263

10.1.1 認(rèn)識RIL類 263

10.1.2 RILRequest 265

10.1.3 IRadio關(guān)聯(lián)的服務(wù) 266

10.1.4 RIL消息分類 270

10.1.5 Solicited Request 270

10.1.6 Solicited Response 271

10.1.7 UnSolicited 274

10.2 詳解rild 274

10.2.1 RIL_startEventLoop 275

10.2.2 獲取RIL_RadioFunctions 275

10.2.3 注冊RIL_RadioFunctions 277

10.3 libril初始化流程 278

10.3.1 RIL_startEventLoop 278

10.3.2 RIL_register 280

10.4 擴(kuò)展hal接口 281

10.4.1 增加接口定義 282

10.4.2 驗(yàn)證生成的代碼 282

10.4.3 實(shí)現(xiàn)新增接口 285

10.4.4 運(yùn)行結(jié)果驗(yàn)證 286

10.5 RILC運(yùn)行機(jī)制 287

10.5.1 Solicited消息 287

10.5.2 UnSolicited消息 291

本章小結(jié) 293"


本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號