TOP
英國出版界指標大獎肯定!A.F. Steadman 獲年度作家,《史坎德》系列帶你踏上熱血奇幻旅程
深入理解Android:Wi-Fi、NFC和GPS卷(簡體書)
滿額折

深入理解Android:Wi-Fi、NFC和GPS卷(簡體書)

商品資訊

人民幣定價:89.00 元
定價
:NT$ 534 元
優惠價
87465
絕版無法訂購
無法訂購
商品簡介
作者簡介
名人推薦
目次
書摘/試閱

商品簡介

本書是經典暢銷書“深入理解Android”系列的新作,由資深Android系統專家鄧凡平先生撰寫。從通信專業知識和Android系統代碼實現的角度,對Netd、Wi-Fi、NFC和GPS等模組的代碼進行深入的剖析,旨在深刻揭示其實現原理和工作流程。其中涉及大量通信相關的專業知識,因此特意邀請全志和高通等著名晶片公司的資深專家擔任技術審校。本書從實際應用的需求出發,適合所有Android系統工程師、Android應用開發工程師和BSP開發工程師閱讀。
全書共9章。第1章介紹本書的內容組成、工具使用以及參考源碼的下載方法。第2章介紹Netd及相關的背景知識。第3~5章介紹Wi-Fi基礎知識,重點分析了wpa_supplicant的實現,以及Android平臺中特有的Wi-Fi服務模組WifiService。第6~7章講解了Wi-Fi聯盟推出的兩項重要技術Wi-Fi Simple Configuration和Wi-Fi P2P,以及它們在Android平臺中的代碼實現。第8章詳細介紹了NFC基礎知識,以及NFC在Android平臺中的代碼實現。第9章講解了GPS原理及Android平臺中的位置管理服務架構。

作者簡介

鄧凡平
資深Android系統工程師,對Android系統的設計與實現有非常深入的研究,曾擔任Tieto公司高級軟件架構師。暢銷書“深入理解Android”系列的總策劃和主筆,出版有暢銷書《深入理解Android:卷I》和《深入理解Android:卷II》。喜歡鉆研,樂于分享,活躍于CSDN、51CTO和開源中國等專業技術社區,撰寫的Android Framework源碼分析的系列文章深受讀者歡迎。

名人推薦

經典暢銷書“深入理解Android系列”新作,資深Android系統專家鄧凡平撰寫,全志和高通等公司資深專家擔任技術審校并強烈推薦

從專業知識角度和Android系統代碼實現角度對Netd、Wi-Fi、NFC和GPS模塊代碼進行深入剖析,深刻揭示其實現原理和工作流程

目次

目 錄
前 言
第1章 準備工作 1
1.1?Android系統架構 2
1.2 工具使用 2
1.2.1 Source Insight的使用 3
1.2.2 Eclipse的使用 3
1.2.3 BusyBox的使用 7
1.3?本書資源下載說明 8
第2章 深入理解Netd 9
2.1?概述 10
2.2?Netd工作流程 10
2.2.1?main函數分析 11
2.2.2?NetlinkManager分析 12
2.2.3?CommandListener分析 16
2.2.4?DnsProxyListener分析 18
2.2.5?MDnsSdListener分析 21
2.3?CommandListener中的命令 26
2.3.1?iptables、tc和ip命令 27
2.3.2?CommandListener構造函數和測試工具ndc 31
2.3.3?InterfaceCmd命令 33
2.3.4?IpFwd和FirewallCmd命令 40
2.3.5?ListTtysCmd和PppdCmd命令 43
2.3.6?BandwidthControlCmd和IdletimerControlCmd命令 45
2.3.7?NatCmd命令 47
2.3.8?TetherCmd和SoftapCmd命令 49
2.3.9?ResolverCmd命令 54
2.4?NetworkManagementService介紹 55
2.4.1?create函數詳解 55
2.4.2?systemReady函數詳解 57
2.5?本章總結和參考資料說明 58
2.5.1?本章總結 58
2.5.2?參考資料說明 58
第3章 Wi-Fi基礎知識 62
3.1?概述 63
3.2?無線電頻譜和802.11協議的發展歷程 63
3.2.1?無線電頻譜知識 63
3.2.2?IEEE 802.11發展歷程 64
3.3?802.11無線網絡技術 66
3.3.1?OSI基本參考模型及相關基本概念 66
3.3.2?802.11知識點導讀 73
3.3.3?802.11組件 74
3.3.4?802.11 Service介紹 77
3.3.5?802.11 MAC服務和幀 82
3.3.6?802.11 MAC管理實體 98
3.3.7?無線網絡安全技術知識點 105
3.4 Linux Wi-Fi編程API介紹 121
3.4.1 Linux Wireless Extensions介紹 122
3.4.2 nl80211介紹 125
3.5 本章總結和參考資料說明 135
3.5.1 本章總結 135
3.5.2 參考資料說明 136
第4章 深入理解wpa_supplicant 140
4.1 概述 142
4.2 初識wpa_supplicant 144
4.2.1 wpa_supplicant架構 144
4.2.2 wpa_supplicant編譯配置 145
4.2.3 wpa_supplicant命令和控制API 146
4.2.4 git的使用 149
4.3 wpa_supplicant初始化流程 149
4.3.1 main函數分析 150
4.3.2 wpa_supplicant_init函數分析 153
4.3.3 wpa_supplicant_add_iface函數分析 158
4.3.4 wpa_supplicant_init_iface函數分析 164
4.4 EAP和EAPOL模塊 191
4.4.1 EAP模塊分析 191
4.4.2 EAPOL模塊分析 202
4.5 wpa_supplicant連接無線網絡分析 212
4.5.1 ADD_NETWORK命令處理 214
4.5.2 SET_NETWORK命令處理 216
4.5.3 ENABLE_NETWORK命令處理 218
4.6 本章總結和參考資料說明 264
4.6.1 本章總結 264
4.6.2 參考資料說明 264
第5章 深入理解WifiService 267
5.1 概述 268
5.2 WifiService的創建及初始化 268
5.2.1 HSM和AsyncChannel介紹 269
5.2.2 WifiService構造函數分析 276
5.2.3 WifiStateMachine介紹 277
5.3 加入無線網絡分析 287
5.3.1 Settings操作Wi-Fi分析 288
5.3.2 WifiService操作Wi-Fi分析 295
5.4 WifiWatchdogStateMachine介紹 312
5.5 Captive Portal Check介紹 316
5.6 本章總結和參考資料說明 320
5.6.1 本章總結 320
5.6.2 參考資料說明 320
第6章 深入理解Wi-Fi Simple Configuration 321
6.1 概述 322
6.2 WSC基礎知識 322
6.2.1 WSC應用場景 323
6.2.2 WSC核心組件及接口 325
6.3 Registration Protocol詳解 326
6.3.1 WSC IE和Attribute介紹 328
6.3.2 802.11管理幀WSC IE設置 331
6.3.3 EAP-WSC介紹 335
6.4 WSC代碼分析 343
6.4.1 Settings中的WSC處理 343
6.4.2 WifiStateMachine的處理 345
6.4.3 wpa_supplicant中的WSC處理 347
6.4.4 EAP-WSC處理流程分析 356
6.5 本章總結和參考資料說明 370
6.5.1 本章總結 370
6.5.2 參考資料說明 370
第7章 深入理解Wi-Fi P2P 371
7.1 概述 372
7.2 P2P基礎知識 372
7.2.1 P2P架構 372
7.2.2 P2P Discovery技術 374
7.2.3 P2P工作流程 389
7.3 WifiP2pSettings和WifiP2pService介紹 392
7.3.1 WifiP2pSettings工作流程 392
7.3.2 WifiP2pService工作流程 397
7.4 wpa_supplicant中的P2P 408
7.4.1 P2P模塊初始化 409
7.4.2 P2P Device Discovery流程分析 416
7.4.3 Provision Discovery流程分析 426
7.4.4 GO Negotiation流程分析 433
7.5 本章總結和參考資料說明 441
7.5.1 本章總結 441
7.5.2 參考資料說明 441
第8章 深入理解NFC 443
8.1 概述 444
8.2 NFC基礎知識 444
8.2.1 NFC概述 445
8.2.2 NFC R/W運行模式 448
8.2.3 NFC P2P運行模式 453
8.2.4 NFC CE運行模式 459
8.2.5 NCI原理 462
8.2.6 NFC相關規范 464
8.3 Android中的NFC 464
8.3.1 NFC應用示例 465
8.3.2 NFC系統模塊 478
8.4 NFC HAL層討論 498
8.5 本章總結和參考資料說明 500
8.5.1 本章總結 500
8.5.2 參考資料說明 500
第9章 深入理解GPS 503
9.1 概述 504
9.2 GPS基礎知識 504
9.2.1 衛星導航基本原理 505
9.2.2 GPS系統組成及原理 513
9.2.3 OMA-SUPL協議 532
9.3 Android中的位置管理 536
9.3.1 LocationManager架構 536
9.3.2 LocationManager應用示例 538
9.3.3 LocationManager系統模塊 541
9.4 本章總結和參考資料說明 570
9.4.1 本章總結 570
9.4.2 參考資料說明 570
附錄 574

書摘/試閱

策略路由是指系統依據網路系統管理員定下的一些策略對IP包進行的路由選擇。例如網管可設置這樣的策略:“所有來自網A的包,選擇X路徑,其他選擇Y路徑”,或者“所有TOS (Type Of Service,IP協議頭的一部分)為A的包選擇路徑F,其他選擇路徑K”。
從Kemel 2.1開始,Linux採用了策略性路由機制。相比傳統路由演算法,策略路由主要引入了多路由表及規則的概念。
傳統路由演算法僅使用一張路由表。但在某些情況下,系統需要使用多個路由表。例如,一個子網通過一個路由器與外界相連。而該路由器與外界有兩條線路相連,其中一條的速度較快,另一條的速度較慢。對於子網內的大多數使用者來說,由於對速度沒有特殊要求,可以讓他們用速度較慢的路由;但是子網內有一些特殊使用者對速度的要求較苛刻,他們需要使用速度較快的路由。很明顯,僅使用一張路由表是無法實現上述要求的。而如果根據源位址或其他參數,對不同的用戶使用不同的路由表,就可以實現這項要求。
傳統Linux下配置路由的工具是route,而實現策略性路由配置的工具是iproute2工具包,常用的命令就是ip命令。
Linux最多可以支援255張路由表,其中有4張表是內置的。
表255:本地路由表(local table)。本地介面位址,廣播位址和NAT位址都放在這個表中。該路由表由系統自動維護,管理員不能直接修改。
表254:主路由表(main table)。如果沒有指明路由所屬的表,所有的路由都默認都放在這個表裡,一般來說,傳統路由工具命令(如route)所添加的路由都會加到這個表中。一般是普通的路由。
表253:默認路由表(default table)。一般來說默認的路由都放在這張表,但是如果特別指明,該表也可以存儲所有的閘道路由。

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 465
絕版無法訂購

暢銷榜

客服中心

收藏

會員專區