深入理解Android:Wi-Fi、NFC和GPS卷.pdf

深入理解Android:Wi-Fi、NFC和GPS卷.pdf
 

书籍描述

内容简介
本书是经典畅销书“深入理解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系统专家邓凡平撰写,全志和高通等公司资深专家担任技术审校并强烈推荐

从专业知识角度和Android系统代码实现角度对Netd、Wi-Fi、NFC和GPS模块代码进行深入剖析,深刻揭示其实现原理和工作流程

媒体推荐
当前大部分手持设备都配有Wi-Fi、蓝牙、GPS等功能,网络已成为人们生活中的一部分,本书涉及四大无线模块中的Wi-Fi、GPS和NFC。GPS已深入到人们生活,成为出行者的必备工具;NFC目前还没有普及,预计明后两年会得到推广,支付功能将会是个看点。无论你是从事应用开发还是相关模块功能的扩展,都能从本书中有所收获。尤其对于初学者来说,面对Android多层次的架构和海量的代码,学习和分析Wi-Fi时可能无从切入,本书将会是很好的导师。
—— 吴劲良 全志(Allwinner)公司wireless-team负责人

Wi-Fi是手机等移动智能设备不可缺少的功能,遗憾的是,目前还没有对Android系统Wi-Fi功能的实现进行全面介绍的专著。由于Wi-Fi系统复杂,工程师很难通过自学掌握Android系统Wi-Fi相关的知识,碰到问题一般依赖于Wi-Fi芯片供应商或者Android系统自身的版本发布。本书的出现非常有效地弥补了这个空缺。本书介绍了802.11协议的基本知识,清晰阐述了Android系统和Wi-Fi相关的软件架构,通过翔实的代码分析,让Wi-Fi工程师全面掌握Android系统Wi-Fi的工作原理,便于他们开发基于Wi-Fi的高级应用,分析并解决用户碰到的一些问题,从而促进Android生态系统的发展。
—— 杨洋 高通(Qualcomm)中国资深研发经理

Android系统发展到今天,connectivity已经成为不可或缺的组成部分。但是在实际开发移植的过程中,绝大多数Android软件工程师没有相关背景知识,导致与硬件工程师沟通不畅,延误项目进度。本书从原理、简单算法、应用场景,以及Android的具体使用和移植等方面,由浅入深地对connectivity的三个应用进行了解释说明。无论对于Android应用开发工程师,还是系统工程师而言,都是一本难得的“Jump Start Training Book”。即便是有相关经验的Android工程师,也可以作为参考手册备用。最后,希望作者能够不断更新此系列,进一步对更底层的BSP进行阐述,以飨读者。
—— 罗旻 新岸线(NeuFront)技术总监

当大家疲于应付生活和工作的压力时,作者在充满激情地精心钻研时下流行的Android架构。与其他枯燥的分析Android源码的书不同,本书不仅介绍了Wi-Fi、NFC和GPS等模块的专业知识,还结合理论对相关代码开展了深入浅出的分析。希望各位读者通过此书学习专业知识的同时,还能学习作者乐于分享、追求卓越的工作态度。
—— 李智 全志(Allwinner) 营销总监

作者简介
邓凡平
资深Android系统工程师,对Android系统的设计与实现有非常深入的研究,曾担任Tieto公司高级软件架构师。畅销书“深入理解Android”系列的总策划和主笔,出版有畅销书《深入理解Android:卷I》和《深入理解Android:卷II》。喜欢钻研,乐于分享,活跃于CSDN、51CTO和开源中国等专业技术社区,撰写的Android Framework源码分析的系列文章深受读者欢迎。

目录
目  录
前 言
第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

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多