- 定价:¥89.00
- POD价:¥89.00
- 评分:
(已有1条评价)
- 电子书:深入理解Android:Wi-Fi、NFC和GPS卷[按需印刷]
- 促销活动:
- 我要买:
- ·如此书原封面缺失,印刷将采用出版社授权的新封面;
- ·如电子文件出现问题,可能延长印制周期,我们将提前与您沟通
基本信息

【插图】

编辑推荐
经典畅销书“深入理解Android系列”新作,资深Android系统专家邓凡平撰写,全志和高通等公司资深专家担任技术审校并强烈推荐
从专业知识角度和Android系统代码实现角度对Netd、Wi-Fi、NFC和GPS模块代码进行深入剖析,深刻揭示其实现原理和工作流程
内容简介
计算机书籍
《深入理解Android:Wi-Fi、NFC和GPS卷》是经典畅销书“深入理解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源码分析的系列文章深受读者欢迎。
目录
前 言
第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
前言
本书所讲解的Wi-Fi、NFC以及GPS模块的背后都涉及非常多的专业知识,例如与Wi-Fi相关的802.11协议、Wi-Fi Alliance(Wi-Fi联盟)定义的Wi-Fi Simple Configuration和Wi-Fi P2P协议、NFC Forum定义的一整套与NFC相关的协议、与GPS相关的卫星导航原理、AGPS和OMA-SUPL协议等。显然,如果不了解这些专业知识,就不可能真正掌握它们在Android平台中的代码实现。
考虑到这些专业知识的重要性,本书在讲解Android平台中Wi-Fi、NFC和GPS模块的实现之前,先重点介绍与代码相关的专业知识。当然,这些专业知识内容如此丰富,在一本书中无法全部涵盖。为了方便读者进一步深入学习,本书每章的最后都会列举笔者在撰写各章时所阅读的参考资料。
以下是本书的内容概述。
第1章介绍本书的内容组成、使用的工具以及参考源码的下载方法。
第2章介绍Netd以及相关的背景知识。
第3章介绍Wi-Fi基础知识。Wi-Fi是本章的重点,而且也是当下最热门的技术。
第4章介绍wpa_supplicant,它是Wi-Fi领域中最核心的软件实现。
第5章介绍WifiService,它是Android平台中特有的Wi-Fi服务模块。
第6章和第7章介绍Wi-Fi Alliance推出的两项重要技术——Wi-Fi Simple Configuration和Wi-Fi P2P,以及它们在Android平台中的代码实现。
第8章介绍NFC背景知识以及NFC在Android平台中的代码实现。NFC也是历史比较悠久的技术,希望它能随着Android的普及而走向大众。
第9章介绍GPS原理及Android平台中的位置管理服务架构。
附录为笔者和审稿专家之一的吴劲良先生关于本书定位、学习方法等方面的讨论。相信这些讨论内容能引起读者的共鸣。
本书通过理论和代码相结合的方式进行讲解,旨在引领读者一步步了解Wi-Fi、NFC和GPS模块的工作原理。总之,笔者希望读者在阅读完本书后能有以下收获。
初步掌握Wi-Fi、NFC和GPS的专业知识。
根据其实现代码,进一步加深对这些专业知识的理解。
读者对象
适合阅读本书的读者包括:
Android系统开发工程师
系统开发工程师常常需要深入理解系统的运转过程,而本书所涉及的内容正是他们在工作和学习中最想了解的。对具体模块感兴趣的读者也可单刀直入,阅读相关章节。
媒体评论
—— 吴劲良 全志(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) 营销总监
书摘
从Kemel 2.1开始,Linux采用了策略性路由机制。相比传统路由算法,策略路由主要引入了多路由表及规则的概念。
传统路由算法仅使用一张路由表。但在某些情况下,系统需要使用多个路由表。例如,一个子网通过一个路由器与外界相连。而该路由器与外界有两条线路相连,其中一条的速度较快,另一条的速度较慢。对于子网内的大多数用户来说,由于对速度没有特殊要求,可以让他们用速度较慢的路由;但是子网内有一些特殊用户对速度的要求较苛刻,他们需要使用速度较快的路由。很明显,仅使用一张路由表是无法实现上述要求的。而如果根据源地址或其他参数,对不同的用户使用不同的路由表,就可以实现这项要求。
传统Linux下配置路由的工具是route,而实现策略性路由配置的工具是iproute2工具包,常用的命令就是ip命令。
Linux最多可以支持255张路由表,其中有4张表是内置的。
表255:本地路由表(local table)。本地接口地址,广播地址和NAT地址都放在这个表中。该路由表由系统自动维护,管理员不能直接修改。
表254:主路由表(main table)。如果没有指明路由所属的表,所有的路由都默认都放在这个表里,一般来说,传统路由工具命令(如route)所添加的路由都会加到这个表中。一般是普通的路由。
表253:默认路由表(default table)。一般来说默认的路由都放在这张表,但是如果特别指明,该表也可以存储所有的网关路由。
表0:默认保留。
2.3.1节简单介绍了ip命令,ip命令的一些具体用法如下。
系列图书推荐
作者其它作品
深入理解Android:卷I[按需印刷]
- ¥69.00
- ¥69.00