-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

深入理解Android:Telephony原理剖析與最佳實踐

( 簡體 字)
作者:楊青平類別:1. -> 程式設計 -> 手機程式 -> Android
譯者:
出版社:機械工業出版社深入理解Android:Telephony原理剖析與最佳實踐 3dWoo書號: 34660
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:1/6/2013
頁數:329
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787111406761
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書是“深入理解Android”系列的第3本,前兩本書的內容和品質在Android開發者社群內得到了高度認可,已經樹立起該系列圖書的品牌。在寫作思路和方式上,本書與前兩本書一脈相承,對它們的優點進行了繼承和發揚;在內容上,本書從從原始程式碼角度深入解析了Android Telephony的架構設計與實現原理,深刻揭示了Android系統的通信機制。對於Android應用開發工程師和系統工程師而言,本書都是難得的研究和學習資料。
全書共13章,分為五部分:第一部分(1~3章),首先介紹了智慧手機的系統結構、Android系統的架構、Telephony框架的結構,然後詳細介紹了Android原始程式碼編譯環境和閱讀環境的搭建方法,以及閱讀本書要做的技術準備;第二部分(4~6章),對Android的通話功能進行了深入的分析,包括對通話流程的分析、對主動撥號和來電流程的分析、對通話應用機制的分析,以及對手機通信功能在框架層和應用層中的實現機制的分析;第三部分(7~9章),對Android的通信功能進行了深入的分析,包括對網路服務狀態的運行機制的分析、對Android手機上網的實現機制的分析,以及對短息發送和接收流程的分析;第四部分(10~12章),對Android RIL的工作機制進行了深入的分析,包括對框架層中的RILJ運行機制的分析、對RILC系統結構及LibRIL運行機制的分析,以及對Reference-RIL框架的原理的分析;第五部分(13章),分析了Telephony模組所提供的系統服務,包括系統服務的註冊入口以及調用系統服務介面的實例。
目錄:

推薦序
前 言
第一部分 基礎篇
第1章 初識Android / 2
1.1 智慧手機的系統結構 / 2
1.2 Android系統架構 / 3
1.2.1 應用層 / 3
1.2.2 應用框架層 / 4
1.2.3 系統運行庫層 / 5
1.2.4 核心層 / 6
1.3 Android Telephony框架結構 / 6
1.3.1 系統運行庫層的HAL層 / 7
1.3.2 簡析HAL結構 / 8
1.3.3 Android為什麼引入HAL / 9
1.3.4 Android中HAL的運行結構 / 9
1.4 本章小結 / 10
第2章 搭建Android原始程式碼編譯環境 / 11
2.1 Ubuntu Linux作業系統及工具安裝 / 11
2.1.1 PC配置建議 / 12
2.1.2 Ubuntu安裝光碟的製作 / 12
2.1.3 Ubuntu安裝過程 / 12
2.1.4 Ubuntu系統工具包更新升級 / 14
2.1.5 Java運行環境JDK安裝及配置 / 15
2.1.6 Android SDK的下載和配置 / 16
2.1.7 使用Android SDK啟動虛擬裝置 / 17
2.2 Android原始程式碼下載及編譯過程 / 19
2.2.1 工作目錄設置 / 19
2.2.2 原始程式碼下載 / 19
2.2.3 整體編譯Android 原始程式碼 / 19
2.2.4 單個模組按需編譯 / 20
2.2.5 編譯生成本地Android SDK / 21
2.3 Android常用工具使用及相關技巧說明 / 21
2.3.1 使用本地編譯成功的鏡像檔啟動Android模擬器 / 22
2.3.2 Android調試工具adb的使用方法 / 23
2.3.3 進入Android虛擬裝置控制台模擬短信、來電等功能 / 23
2.4 Eclipse配置及使用 / 24
2.4.1 Android開發套件ADT下載及配置 / 24
2.4.2 建立Android原始程式碼Java工程 / 25
2.4.3 格式化Android Java原始程式碼 / 26
2.5 使用Source Insight方便閱讀C/C++代碼 / 26
2.5.1 安裝Wine / 26
2.5.2 安裝Source Insight / 26
2.5.3 配置Source Insight C/C++工程 / 27
2.6 本章小結 / 27
第3章 主要技術準備 / 29
3.1 何為同步和非同步 / 29
3.2 Handler消息處理機制 / 30
3.2.1 Handler概念分析 / 30
3.2.2 Handler特性 / 30
3.2.3 常用Handler消息處理機制講解 / 31
3.2.4 Handler的作用 / 34
3.3 AIDL跨應用服務 / 35
3.3.1 AIDL概念分析 / 35
3.3.2 AIDL服務提供方 / 36
3.3.3 AIDL服務調用方 / 37
3.4 廣播 / 38
3.4.1 Android 系統中的廣播 / 38
3.4.2 Broadcast接收 / 38
3.4.3 Broadcast發送 / 39
3.5 本章小結 / 39
第二部分 Telephony通話功能
第4章 深入解析通話流程 / 42
4.1 通話相關主要原始程式碼匯總及簡要說明 / 42
4.2 電話主動呼叫流程分析 / 44
4.2.1 運行Android虛擬裝置 / 44
4.2.2 撥號介面DialtactsActivity的onCreate方法 / 45
4.2.3 DialpadFragment撥號盤Tab表單 / 45
4.2.4 尋找撥號統一入口OutgoingCallBroadcaster / 47
4.2.5 CallController撥號placeCall方法 / 47
4.2.6 Phone?明類PhoneUtils靜態placeCall方法 / 48
4.2.7 通話大管家CallManager / 50
4.2.8 Phone物件的dial撥號方法 / 50
4.2.9 Call狀態跟蹤者GsmCallTracker / 51
4.2.10 RIL消息的出入口RIL.java / 52
4.2.11 啟動通話主介面InCallScreen / 53
4.2.12 撥號流程總結 / 53
4.3 電話被動接收來電流程分析 / 55
4.3.1 Android虛擬裝置模擬接收來電 / 56
4.3.2 RegistrantList消息處理機制 / 57
4.3.3 GsmCallTracker回應RIL的Call狀態變化通知 / 60
4.3.4 RIL.java的getCurrentCalls方法 / 60
4.3.5 GsmCallTracker回應訊息通知 / 61
4.3.6 handlePollCalls發出來電通知 / 61
4.3.7 GSMPhone的通知方法notifyNewRingingConnection / 62
4.3.8 CallManager回應來電消息通知 / 62
4.3.9 CallNotifier回應來電通知 / 63
4.3.10 InCallScreen展現來電介面 / 64
4.3.11 來電流程總結 / 65
4.4 通話關鍵流程 / 66
4.4.1 建立Android通話模型 / 67
4.4.2 AT命令發送流程 / 68
4.4.3 通話狀態變化流程 / 69
4.4.4 本地主動掛斷通話流程 / 70
4.4.5 遠端斷開通話連接流程 / 72
4.5 本章小結 / 73
第5章 深入解析Telephony通話應用機制 / 74
5.1 Phone應用的關鍵代碼解析 / 74
5.2 認識通話主介面InCallScreen / 75
5.2.1 InCallScreen中的主要方法 / 76
5.2.2 單例模式的Activity通話介面 / 76
5.2.3 Layout佈局說明 / 77
5.3 通話主介面InCallScreen / 78
5.3.1 onCreate—運行Activity / 78
5.3.2 onNewIntent—單例InCallScreen載入入口 / 80
5.3.3 internalResolveIntent—進入InCallScreen處理Intent的唯一方法 / 81
5.3.4 onResume—顯示InCallScreen通話介面 / 82
5.3.5 handleMessage—Handler消息回應方法 / 84
5.3.6 onSuppServiceFailed—顯示通話服務失敗提示資訊 / 85
5.3.7 updateScreen—更新通話介面 / 86
5.3.8 onDisconnect—斷開通話連接 / 88
5.3.9 handleOnscreenButtonClick—回應通話控制按鈕點擊事件 / 90
5.3.10 InCallScreen通話介面運行機制總結 / 91
5.4 通話資訊展示CallCard / 92
5.4.1 兩路通話佈局View控制項 / 92
5.4.2 updateState—更新CallCard / 93
5.4.3 displayMainCallStatus—顯示/更新第一路通話資訊 / 95
5.4.4 displayOnHoldCallStatus—顯示/更新第二路通話資訊 / 97
5.4.5 修改通話資訊展示的思路及原則 / 98
5.5  通話控制InCallTouchUi / 99
5.5.1 View佈局控制項 / 99
5.5.2 updateState—更新InCallTouchUi / 101
5.5.3 MultiWaveView—來電控制接聽、拒接介面 / 102
5.5.4 HeadSet—回應免提事件 / 103
5.5.5 修改來電介面的思路及原則 / 104
5.6 通話功能中必不可少的DTMF / 105
5.6.1 什麼是DTMF / 105
5.6.2 DTMFTwelveKeyDialer的佈局 / 105
5.6.3 如何顯示DTMF介面 / 106
5.6.4 Tone音發送流程 / 106
5.7 Phone應用的載入入口PhoneApp類 / 108
5.7.1 PhoneApp類屬性及方法 / 108
5.7.2 onCreate—PhoneApp應用載入入口 / 109
5.7.3 PowerManager—PhoneApp電源管理 / 110
5.7.4 Sensor—PhoneApp感應器的應用 / 112
5.7.5 MediaButtonBroadcastReceiver—接收耳機HOOK鍵廣播事件 / 115
5.7.6 PhoneAppBroadcastReceiver—接收Phone應用雜項廣播事件 / 116
5.8 Handler消息處理的幕後工作者CallNotifier / 118
5.8.1 CallNotifier的本質 / 118
5.8.2 Handler消息註冊和回應機制 / 119
5.8.3 onNewRingingConnection—接收到新來電的幕後處理 / 119
5.8.4 onPhoneStateChanged—通話狀態變化的幕後處理 / 121
5.8.5 onDisconnect—通話連接斷開的幕後處理 / 122
5.9 本章小結 / 124
第6章 手機通話功能框架層實現機制 / 125
6.1 Telephony Frameworks層解析 / 125
6.1.1 通話功能相關代碼檔 / 125
6.1.2 通話功能關鍵類 / 126
6.1.3 Telephony通信能力模型 / 127
6.2 GSMPhone對象詳解 / 128
6.2.1 GSMPhone類層次繼承關係 / 128
6.2.2 GSMPhone類代碼結構解析 / 129
6.2.3 PhoneFactory工廠方法實現類 / 130
6.2.4 PhoneProxy代理模式實現類 / 131
6.2.5 GSMPhone類的組合邏輯關係 / 132
6.2.6 GSMPhone類的Handler消息處理機制 / 133
6.2.7 GSMPhone類通話管理實現機制 / 136
6.3 CallTracker運行機制 / 137
6.3.1 GsmCallTracker類代碼結構解析 / 137
6.3.2 GsmCallTracker的Handler消息處理機制 / 139
6.3.3 GsmCallTracker與RIL物件的交互機制 / 142
6.4 以GsmCall為核心的通話管理模型 / 145
6.4.1 GsmCall類代碼結構解析 / 146
6.4.2 GsmConnection類代碼結構解析 / 147
6.4.3 DriverCall與GsmCall、GsmConnection的關係 / 149
6.5 GsmCallTracker類的 handlePollCalls方法處理邏輯 / 153
6.5.1 初始化操作 / 153
6.5.2 更新通話相關資訊 / 154
6.5.3 根據最新的通話狀態發出通知 / 158
6.5.4 更新手機狀態 / 158
6.6 GsmCallTracker通話連接斷開的處理機制 / 160
6.6.1 本地主動掛斷通話的處理機制 / 160
6.6.2 遠端斷開通話連接的處理機制 / 162
6.7 Android虛擬裝置上驗證GSM制式手機的通話模型 / 164
6.7.1 增加日誌輸出 / 164
6.7.2 運行Android虛擬裝置並分析日誌 / 166
6.8 通話大管家CallManager / 168
6.8.1 CallManager的本質 / 168
6.8.2 Handler消息註冊及運行機制 / 169
6.8.3 如何獲取通話基本資訊 / 170
6.9 通話計時實例分析 / 171
6.9.1 記錄通話的開始時間 / 171
6.9.2 記錄通話的結束時間 / 171
6.9.3 Phone應用計算通話時長 / 171
6.10  Handler消息處理機制 / 173
6.10.1 Handler消息的註冊過程 / 173
6.10.2 Handler消息的接收和回應過程 / 174
6.11 實戰—來電防火牆 / 175
6.11.1 應用原理分析 / 175
6.11.2 在onNewRingingConnection方法加入攔截請求 / 176
6.12 本章小結 / 176
第三部分 Telephony通信功能
第7章 網路服務狀態運行機制 / 180
7.1 什麼是ServiceState / 180
7.2 初識ServiceState實體類 / 180
7.2.1 ServiceState類的實質 / 181
7.2.2 ServiceState類關鍵常量及屬性 / 181
7.2.3 ServiceState類關鍵方法 / 182
7.3 ServiceStateTracker運行機制詳解 / 183
7.3.1 ServiceStateTracker抽象類別為核心的類圖 / 184
7.3.2 ServiceStateTracker代碼結構 / 184
7.3.3 ServiceStateTracker的Handler消息處理機制 / 186
7.3.4 ServiceStateTracker與RIL物件的交互機制 / 189
7.4 handlePollStateResult方法處理邏輯 / 192
7.4.1 RIL返回查詢結果的異常判斷和處理 / 192
7.4.2 處理4個不同網路服務查詢返回的結果 / 192
7.4.3 用pollStateDone方法完成收尾工作 / 195
7.5 ServiceState最佳實踐 / 197
7.5.1 獲取運營商資訊 / 197
7.5.2 通知欄手機信號即時變化 / 198
7.6 實戰—飛行模式的實現 / 200
7.6.1 飛行模式的設置入口 / 200
7.6.2 Radio無線通訊模組的開啟或關閉 / 202
7.7 本章小結 / 203
第8章 Android手機上網實現機制 / 204
8.1 Android網路整體結構 / 204
8.2 什麼是DataConnection / 205
8.2.1 DataConnection類定義及子類 / 205
8.2.2 DataConnection類關鍵屬性 / 206
8.2.3 DataConnection類的方法 / 207
8.2.4 5個資料連線物件的狀態轉換 / 207
8.3 StateMachine狀態機 / 208
8.3.1 State設計模式 / 209
8.3.2 StateMachine核心類 / 209
8.3.3 StateMachine運行機制 / 210
8.3.4 DataConnection使用State模式的運行機制 / 211
8.4 什麼是APN / 212
8.4.1 APN配置關鍵字段 / 212
8.4.2 Android支援的APN類型 / 213
8.4.3 如何在Android中新增APN配置 / 213
8.5 開機自動建立default預設資料連接 / 215
8.5.1 如何查看手機上網的基本參數配置 / 215
8.5.2 初始化ApnContext / 216
8.5.3 創建DataConnection資料連接 / 219
8.5.4 啟動DataConnection資料連接 / 222
8.6 DataConnectionTracker運行機制 / 226
8.6.1 初始化ApnContext操作 / 227
8.6.2 開機建立default預設的資料連接 / 228
8.6.3 關閉資料連接 / 229
8.6.4 迴圈更新網路連接狀態資訊 / 230
8.6.5 APN資料庫配置資訊變化的觀察者 / 231
8.7 獲取Android手機上網資料包 / 232
8.7.1 使用tcpdump工具抓取TCP/IP資料包 / 232
8.7.2 使用Wireshark軟體分析TCP/IP資料包 / 232
8.8 MMS彩信資料連接的實現 / 233
8.8.1 建立和關閉彩信資料連接 / 233
8.8.2 如何支援多種類型網路連接 / 234
8.9 實戰—手機上網資料總開關的實現 / 235
8.10 本章小結 / 235
第9章 深入解析短信發送和接收流程 / 237
9.1 MMS應用主要原始程式碼匯總及簡要說明 / 237
9.2 主動發送短信流程分析 / 238
9.2.1 進入短信會話清單介面 / 238
9.2.2 短信編輯介面 / 239
9.2.3 SmsMessageSender短信發送處理邏輯 / 241
9.2.4 Telephony Frameworks層中的SmsManager類 / 243
9.2.5 IccSmsInterfaceManager服務發送短信 / 244
9.2.6 SMSDispatcher短信分發器 / 245
9.2.7 主動發送短信流程總結 / 246
9.3 短信發送狀態相關處理機制 / 248
9.3.1 如何判斷短信是否成功發送到短信中心 / 248
9.3.2 如何判斷短信接收方已經成功收取短信 / 250
9.4 短信接收流程分析 / 252
9.4.1 短信接收的開始 / 252
9.4.2 進入短信分發器SMSDispatcher / 253
9.4.3 接收並處理新短信Broadcast廣播 / 254
9.4.4 短信接收流程總結 / 254
9.5 彩信發送和接收關鍵流程 / 255
9.5.1 彩信傳輸過程中的關鍵類 / 255
9.5.2 TransactionService為核心的彩信傳輸機制 / 257
9.5.3 Transaction物件執行彩信傳輸 / 259
9.5.4 基於WAP PUSH的彩信接收與下載 / 260
9.6 本章小結 / 261
第四部分 深入解析Android RIL
第10章 Android RIL框架結構及RILJ運行機制 / 264
10.1 Android RIL關鍵處理流程 / 264
10.1.1 Android RIL框架結構 / 264
10.1.2 Android RIL的資料交互 / 265
10.2 認識RILJ / 265
10.2.1 RILJ核心類圖 / 265
10.2.2 RILJ關鍵屬性 / 266
10.2.3 RILJ關鍵方法 / 267
10.2.4 RILJ運行機制 / 268
10.3 認識RILRequest類 / 269
10.3.1 RILRequest類的關鍵屬性 / 269
10.3.2 RILRequest類的方法 / 269
10.4 解析RILJ發出RIL請求流程 / 271
10.4.1 send方法發送Handler消息 / 271
10.4.2 RILSender接收和處理Handler消息 / 272
10.5 解析RILJ接收Response消息處理流程 / 273
10.5.1 RILReceiver內部類運行機制 / 273
10.5.2 Solicited Response消息處理方法processSolicited / 276
10.5.3 UnSolicited Response消息處理方法processUnsolicited / 279
10.6 本章小結 / 280
第11章 RILC系統結構及LibRIL運行機制 / 281
11.1 RILC主要代碼目錄結構 / 281
11.2 解析RILC運行機制 / 282
11.2.1 RILC啟動過程 / 283
11.2.2 RILC運行過程 / 285
11.3 初識RILC中的運行環境LibRIL / 285
11.3.1 LibRIL主要檔及作用 / 285
11.3.2 重點結構體說明 / 286
11.4 LibRIL運行環境載入過程 / 288
11.4.1 開啟ril_event事件監聽入口RIL_startEventLoop / 288
11.4.2 RIL_register函數引入三方RIL_RadioFunctions / 290
11.5 運行狀態中ril_event事件處理機制 / 291
11.5.1 認識ril_event結構體 / 291
11.5.2 RIL事件生命週期控制的處理函數 / 292
11.5.3 ril_event_loop處理機制 / 294
11.6 詳解LibRIL運行機制 / 296
11.6.1 RILJ與LibRIL建立Socket連接過程 / 296
11.6.2 Solicited消息的交互流程和處理機制 / 297
11.7 本章小結 / 302
第12章 Reference-RIL運行框架 / 303
12.1 Reference-RIL運行機制 / 303
12.1.1 RIL_Init函數初始化Reference-RIL / 303
12.1.2 onRequest接收LibRIL的請求調用 / 304
12.1.3 UnSolicited消息處理邏輯 / 306
12.2 AT命令 / 310
12.2.1 如何新增AT命令 / 310
12.2.2 Android Telephony常用AT命令 / 310
12.3 Android RIL層運行框架和機制總結 / 311
12.3.1 總結Solicited消息處理流程 / 312
12.3.2 總結UnSolicited消息處理流程 / 313
12.4 本章小結 / 314
第五部分 系統服務
第13章 Telephony提供的系統服務 / 316
13.1 System Service系統服務類圖 / 316
13.2 詳解PhoneInterfaceManager實現機制 / 317
13.2.1 ITelephony.aidl介面定義 / 318
13.2.2 PhoneInterfaceManager服務創建過程 / 318
13.2.3 PhoneInterfaceManager服務使用實例分析 / 318
13.3 詳解TelephonyRegistry實現機制 / 319
13.3.1 系統服務的創建入口 / 320
13.3.2 TelephonyRegistry關鍵方法 / 320
13.3.3 listen方法處理邏輯 / 320
13.3.4 notifyCallState方法發出通話狀態變化通知 / 321
13.3.5 觸發TelephonyRegistry發出通知機制 / 322
13.3.6 TelephonyRegistry系統服務使用實例分析 / 323
13.4 簡述TelephonyManager實現機制 / 324
13.5 本章小結 / 326
序: