[套装书]深入理解Android+深入理解Android+深入理解Android(3册)[POD]

作者
邓凡平 等
丛书名
出版社
机械工业出版社
ISBN
9782111291910
简要
简介
内容简介书籍计算机书籍 ---------------------------198566 - 深入理解Android:卷I[按需印刷]--------------------------- 《深入理解Android:卷1》是一本以情景方式对Android的源代码进行深入分析的书。内容广泛,以对Framework层的分析为主,兼顾Native层和Application层;分析深入,每一部分源代码的分析都力求透彻;针对性强,注重实际应用开发需求,书中所涵盖的知识点都是Android应用开发者和系统开发者需要重点掌握的。 全书共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对Android系统架构和源码阅读方法的介绍;第2章通过对Android系统中的MediaScanner进行分析,详细讲解了Android中十分重要的JNI技术;第3章分析了init进程,揭示了通过解析init.rc来启动Zygote以及属性服务的工作原理;第4章分析了Zygote、SystemServer等进程的工作机制,同时还讨论了Android的启动速度、虚拟机HeapSize的大小调整、Watchdog工作原理等问题;第5章讲解了Android系统中常用的类,包括sp、wp、RefBase、Thread等类,同步类,以及Java中的Handler类和Looper类,掌握这些类的知识后方能在后续的代码分析中做到游刃有余;第6章以MediaServer为切入点,对Android中极为重要的Binder进行了较为全面的分析,深刻揭示了其本质。第7章对Audio系统进行了深入的分析,尤其是AudioTrack、AudioFlinger和AudioPolicyService等的工作原理。第8章深入讲解了Surface系统的实现原理,分析了Surface与Activity之间以及Surface与SurfaceFlinger之间的关系、SurfaceFlinger的工作原理、Surface系统中的帧数据传输以及LayerBuffer的工作流程。第9章对Vold和Rild的原理和机制进行了深入的分析,同时还探讨了Phone设计优化的问题;第10章分析了多媒体系统中MediaScanner的工作原理。 本书适合有一定基础的Android应用开发工程师和系统工程师阅读。通过对本书的学习,大家将能更深刻地理解Android系统,从而自如应对实际开发中遇到的难题。 ---------------------------3683060 - 深入理解Android:卷II[按需印刷]--------------------------- 《深入理解Android:卷II》是“深入理解Android”系列的第二本,第一本书上市后得到了广大读者的高度评价,在Android开发者社群内口口相传。本书不仅继承了第一本的优点、改正了其在细微处存在的一些不足,而且还在写作的总体思想上进行了创新,更强调从系统设计者的角度去分析Android系统中各个模块内部的实现原理和工作机制。从具体内容上讲,本书的重点是Android Framework的Java层,对Java层涉及的核心模块和服务进行了深入而细致的分析。通过本书,读者不仅能对Android系统本身有更深入的理解,而且还能掌握分析大型复杂源代码的能力。 全书共8章:第1章介绍了阅读本书所需要做的准备工作,包括Android 4.0源码的下载和编译、Eclipse环境的搭建,以及Android系统进程(system_process)的调试等;第2章对Java Binder和MessageQueue的实现进行了深入分析;第3章详细剖析了SystemServer的工作原理,这些服务包括EntropyService、DropboxManagerService、DiskStatsService、DeviceStorageMonitorService、SamplingProfilerService和ClipboardService;第4章对系统中负责Package信息查询和APK安装、卸载、更新等工作的服务PackageManagerService进行了详细分析;第5章则对Android系统中负责电源管理的核心服务 PowerManagerService的原理进行了一番深入的分析;第6章以ActivityManagerService为分析重点,对它的启动、Activity的创建和启动、BroadcastReceiver的工作原理、Android中的进程管理等内容展开了较为深入的研究;第7章对ContentProvider的创建和启动、SQLite、Cursor query和close的实现等进行了深入分析;第8章以ContentService和AccountManagerService为分析对象,介绍了数据更新通知机制的实现,以及账户管理和数据同步等相关知识。 . ---------------------------3769748 - 深入理解Android: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平台中的位置管理服务架构。
目录
[套装书具体书目]
198566 - 深入理解Android:卷I[按需印刷] - 9787111357629 - 机械工业出版社 - 定价 69
3683060 - 深入理解Android:卷II[按需印刷] - 9787111389187 - 机械工业出版社 - 定价 79
3769748 - 深入理解Android:Wi-Fi、NFC和GPS卷[按需印刷] - 9787111456834 - 机械工业出版社 - 定价 89



---------------------------198566 - 深入理解Android:卷I[按需印刷]---------------------------


《深入理解Android:卷1》
第1章 阅读前的准备工作 / 1
1.1 系统架构 / 2
1.1.1 Android系统架构 / 2
1.1.2 本书的架构 / 3
1.2 搭建开发环境 / 4
1.2.1 下载源码 / 4
1.2.2 编译源码 / 6
1.3 工具介绍 / 8
1.3.1 Source Insight介绍 / 8
1.3.3 Busybox的使用 / 11
1.4 本章小结 / 12
第2章 深入理解JNI / 13
2.1 JNI概述 / 14
2.2 学习JNI的实例:MediaScanner / 15
2.3 Java层的MediaScanner分析 / 16
2.3.1 加载JNI库 / 16
2.3.2 Java的native函数和总结 / 17
2.4 JNI层MediaScanner的分析 / 17
2.4.1 注册JNI函数 / 18
2.4.2 数据类型转换 / 22
2.4.3 JNIEnv介绍 / 24
2.4.4 通过JNIEnv操作jobject / 25
2.4.5 jstring介绍 / 27
2.4.6 JNI类型签名介绍 / 28
2.4.7 垃圾回收 / 29
2.4.8 JNI中的异常处理 / 32
2.5 本章小结 / 32
第3章 深入理解init / 33
3.1 概述 / 34
3.2 init分析 / 34
3.2.1 解析配置文件 / 38
3.2.2 解析service / 42
3.2.3 init控制service / 48
3.2.4 属性服务 / 52
3.3 本章小结 / 60
第4章 深入理解zygote / 61
4.1 概述 / 62
4.2 zygote分析 / 62
4.2.1 AppRuntime分析 / 63
4.2.2 Welcome to Java World / 68
4.2.3 关于zygote的总结 / 74
4.3 SystemServer分析 / 74
4.3.1 SystemServer的诞生 / 74
4.3.2 SystemServer的重要使命 / 77
4.3.3 关于 SystemServer的总结 / 83
4.4 zygote的分裂 / 84
4.4.1 ActivityManagerService发送请求 / 84
4.4.2 有求必应之响应请求 / 86
4.4.3  关于zygote分裂的总结 / 88
4.5 拓展思考 / 88
4.5.1 虚拟机heapsize的限制 / 88
4.5.2 开机速度优化 / 89
4.5.3 Watchdog分析 / 90
4.6 本章小结 / 93
第5章 深入理解常见类 / 95
5.1 概述 / 96
5.2 以“三板斧”揭秘RefBase、sp和wp / 96
5.2.1 第一板斧——初识影子对象 / 96
5.2.2 第二板斧——由弱生强 / 103
5.2.3 第三板斧——破解生死魔咒 / 106
5.2.4 轻量级的引用计数控制类LightRefBase / 108
5.2.5 题外话—三板斧的来历 / 109
5.3 Thread类及常用同步类分析 / 109
5.3.1 一个变量引发的思考 / 109
5.3.2 常用同步类 / 114
5.4 Looper和Handler类分析 / 121
5.4.1 Looper类分析 / 122
5.4.2 Handler分析 / 124
5.4.3 Looper和Handler的同步关系 / 127
5.4.4 HandlerThread介绍 / 129
5.5 本章小结 / 129
第6章 深入理解Binder / 130
6.1 概述 / 131
6.2 庖丁解MediaServer / 132
6.2.1 MediaServer的入口函数 / 132
6.2.2 独一无二的ProcessState / 133
6.2.3 时空穿越魔术—defaultServiceManager / 134
6.2.4 注册MediaPlayerService / 142
6.2.5 秋风扫落叶—StartThread Pool和join Thread Pool分析 / 149
6.2.6 你彻底明白了吗 / 152
6.3 服务总管ServiceManager / 152
6.3.1 ServiceManager的原理 / 152
6.3.2 服务的注册 / 155
6.3.3 ServiceManager存在的意义 / 158
6.4 MediaPlayerService和它的Client / 158
6.4.1 查询ServiceManager / 158
6.4.2 子承父业 / 159
6.5 拓展思考 / 162
6.5.1 Binder和线程的关系 / 162
6.5.2 有人情味的讣告 / 163
6.5.3 匿名Service / 165
6.6 学以致用 / 166
6.6.1 纯Native的Service / 166
6.6.2 扶得起的“阿斗”(aidl) / 169
6.7 本章小结 / 172
第7章 深入理解Audio系统 / 173
7.1 概述 / 174
7.2 AudioTrack的破解 / 174
7.2.1 用例介绍 / 174
7.2.2 AudioTrack(Java空间)分析 / 179
7.2.3 AudioTrack(Native空间)分析 / 188
7.2.4 关于AudioTrack的总结 / 200
7.3 AudioFlinger的破解 / 200
7.3.1 AudioFlinger的诞生 / 200
7.3.2 通过流程分析AudioFlinger / 204
7.3.3 audio_track_cblk_t分析 / 230
7.3.4 关于AudioFlinger的总结 / 234
7.4 AudioPolicyService的破解 / 234
7.4.1 AudioPolicyService的创建 / 235
7.4.2 重回AudioTrack / 245
7.4.3 声音路由切换实例分析 / 251
7.4.4 关于AudioPolicy的总结 / 262
7.5 拓展思考 / 262
7.5.1 DuplicatingThread破解 / 262
7.5.2 题外话 / 270
7.6 本章小结 / 272
第8章 深入理解Surface系统 / 273
8.1 概述 / 275
8.2 一个Activity的显示 / 275
8.2.1 Activity的创建 / 275
8.2.2 Activity的UI绘制 / 294
8.2.3 关于Activity的总结 / 296
8.3 初识Surface / 297
8.3.1 和Surface有关的流程总结 / 297
8.3.2 Surface之乾坤大挪移 / 298
8.3.3 乾坤大挪移的JNI层分析 / 303
8.3.4 Surface和画图 / 307
8.3.5 初识Surface小结 / 309
8.4 深入分析Surface / 310
8.4.1 与Surface相关的基础知识介绍 / 310
8.4.2 SurfaceComposerClient分析 / 315
8.4.3 SurfaceControl分析 / 320
8.4.4 writeToParcel和Surface对象的创建 / 331
8.4.5 lockCanvas和unlockCanvasAndPost分析 / 335
8.4.6 GraphicBuffer介绍 / 344
8.4.7 深入分析Surface的总结 / 353
8.5 SurfaceFlinger分析 / 353
8.5.1 SurfaceFlinger的诞生 / 354
8.5.2 SF工作线程分析 / 359
8.5.3 Transaction分析 / 368
8.5.4 关于SurfaceFlinger的总结 / 376
8.6 拓展思考 / 377
8.6.1 Surface系统的CB对象分析 / 377
8.6.2 ViewRoot的你问我答 / 384
8.6.3 LayerBuffer分析 / 385
8.7 本章小结 / 394
第9章 深入理解Vold和Rild / 395
9.1 概述 / 396
9.2 Vold的原理与机制分析 / 396
9.2.1 Netlink和Uevent介绍 / 397
9.2.2 初识Vold / 399
9.2.3 NetlinkManager模块分析 / 400
9.2.4 VolumeManager模块分析 / 408
9.2.5 CommandListener模块分析 / 414
9.2.6 Vold实例分析 / 417
9.2.7 关于Vold的总结 / 428
9.3 Rild的原理与机制分析 / 428
9.3.1 初识Rild / 430
9.3.2 RIL_startEventLoop分析 / 432
9.3.3 RIL_Init分析 / 437
9.3.4 RIL_register分析 / 444
9.3.5 关于Rild main函数的总结 / 447
9.3.6 Rild实例分析 / 447
9.3.7 关于Rild的总结 / 459
9.4 拓展思考 / 459
9.4.1 嵌入式系统的存储知识介绍 / 459
9.4.2 Rild和Phone的改进探讨 / 462
9.5 本章小结 / 463
第10章 深入理解MediaScanner / 464
10.1 概述 / 465
10.2 android.process.media分析 / 465
10.2.1 MSR模块分析 / 466
10.2.2 MSS模块分析 / 467
10.2.3 android.process.media媒体扫描工作的流程总结 / 471
10.3 MediaScanner分析 / 472
10.3.1 Java层分析 / 472
10.3.2 JNI层分析 / 476
10.3.3 PVMediaScanner分析 / 479
10.3.4 关于MediaScanner的总结 / 485
10.4 拓展思考 / 486
10.4.1 MediaScannerConnection介绍 / 486
10.4.2 我问你答 / 487
10.5 本章小结 / 488


---------------------------3683060 - 深入理解Android:卷II[按需印刷]---------------------------


《深入理解Android:卷II》
前 言
第1章 搭建Android源码工作环境 / 1
1.1 Android系统架构 / 2
1.2 搭建开发环境 / 3
1.2.1 下载源码 / 3
1.2.2 编译源码 / 4
1.2.3 利用Eclipse调试system_process / 5
1.3 本章小结 / 11
第2章 深入理解Java Binder和MessageQueue / 12
2.1 概述 / 13
2.2 Java层中的Binder架构分析 / 13
2.2.1 Binder架构总览 / 13
2.2.2 初始化Java层Binder框架 / 14
2.2.3 addService实例分析 / 17
2.2.4 Java层Binder架构总结 / 26
2.3 心系两界的MessageQueue / 27
2.3.1 MessageQueue的创建 / 27
2.3.2 提取消息 / 28
2.3.3 nativePollOnce函数分析 / 31
2.3.4 MessageQueue总结 / 41
2.4 本章小结 / 42
第3章 深入理解SystemServer / 44
3.1 概述 / 45
3.2 SystemServer分析 / 45
3.2.1 main函数分析 / 45
3.2.2 Service群英会 / 48
3.3 EntropyService分析 / 49
3.4 DropBoxManagerService分析 / 50
3.4.1 DBMS构造函数分析 / 51
3.4.2 dropbox日志文件的添加 / 51
3.4.3 DBMS和settings数据库 / 56
3.5 DiskStatsService和DeviceStorageMonitorService分析 / 56
3.5.1 DiskStatsService分析 / 56
3.5.2 DeviceStorageManagerService分析 / 58
3.6 SamplingProfilerService分析 / 60
3.6.1 SamplingProfilerService构造函数分析 / 61
3.6.2 SamplingProfilerIntegration分析 / 62
3.7 ClipboardService分析 / 64
3.7.1 复制数据到剪贴板 / 64
3.7.2 从剪切板粘贴数据 / 67
3.7.3 CBS中的权限管理 / 69
3.8 本章小结 / 73
第4章 深入理解PackageManagerService / 74
4.1 概述 / 75
4.2 初识PackageManagerService / 76
4.3 PKMS的main函数分析 / 77
4.3.1 构造函数分析之前期准备工作 / 78
4.3.2 构造函数分析之扫描Package / 90
4.3.3 构造函数分析之扫尾工作 / 105
4.3.4 PKMS构造函数总结 / 105
4.4 APK Installation分析 / 105
4.4.1 adb install分析 / 105
4.4.2 pm分析 / 107
4.4.3 installPackageWithVerification函数分析 / 109
4.4.4 APK 安装流程总结 / 121
4.4.5 Verification介绍 / 122
4.5 queryIntentActivities分析 / 124
4.5.1 Intent及IntentFilter介绍 / 124
4.5.2 Activity信息的管理 / 125
4.5.3 Intent 匹配查询分析 / 128
4.5.4 queryIntentActivities总结 / 131
4.6 installd及UserManager介绍 / 131
4.6.1 installd介绍 / 131
4.6.2 UserManager介绍 / 136
4.7 本章学习指导 / 138
4.8 本章小结 / 138
第5章 深入理解PowerManagerService / 139
5.1 概述 / 140
5.2 初识PowerManagerService / 140
5.2.1 PMS构造函数分析 / 141
5.2.2 init分析 / 141
5.2.3 systemReady分析 / 147
5.2.4 BootComplete处理 / 148
5.2.5 初识PowerManagerService总结 / 149
5.3 PMS WakeLock分析 / 149
5.3.1 WakeLock客户端分析 / 149
5.3.2 PMS acquireWakeLock分析 / 151
5.3.3 Power类及LightService类介绍 / 160
5.3.4 WakeLock总结 / 163
5.4 userActivity及Power按键处理分析 / 164
5.4.1 userActivity分析 / 164
5.4.2 Power按键处理分析 / 167
5.5 BatteryService及BatteryStatsService分析 / 168
5.5.1 BatteryService分析 / 169
5.5.2 BatteryStatsService分析 / 172
5.5.3 BatteryService及BatteryStatsService总结 / 182
5.6 本章学习指导 / 183
5.7 本章小结 / 183
第6章 深入理解ActivityManagerService / 184
6.1 概述 / 185
6.2 初识ActivityManagerService / 186
6.2.1 ActivityManagerService的main函数分析 / 187
6.2.2 AMS的 setSystemProcess分析 / 197
6.2.3 AMS的 installSystemProviders函数分析 / 202
6.2.4 AMS的 systemReady分析 / 211
6.2.5 初识ActivityManagerService总结 / 218
6.3 startActivity分析 / 219
6.3.1 从am说起 / 219
6.3.2 AMS的startActivityAndWait函数分析 / 221
6.3.3 startActivityLocked分析 / 230
6.4 Broadcast和BroadcastReceiver分析 / 265
6.4.1 registerReceiver流程分析 / 267
6.4.2 sendBroadcast流程分析 / 272
6.4.3 BROADCAST_INTENT_MSG消息处理函数 / 276
6.4.4 应用进程处理广播分析 / 282
6.4.5 广播处理总结 / 284
6.5 startService之按图索骥 / 285
6.5.1 Service知识介绍 / 285
6.5.2 startService流程图 / 286
6.6 AMS中的进程管理 / 287
6.6.1 Linux进程管理介绍 / 287
6.6.2 关于Android中的进程管理的介绍 / 289
6.6.3 AMS进程管理函数分析 / 294
6.6.4 AMS进程管理总结 / 305
6.7 App的 Crash处理 / 305
6.7.1 应用进程的Crash处理 / 306
6.7.2 AMS的handleApplicationCrash分析 / 306
6.7.3 AppDeathRecipient binderDied分析 / 309
6.7.4 App的Crash处理总结 / 313
6.8 本章学习指导 / 314
6.9 本章小结 / 315
第7章 深入理解ContentProvider / 316
7.1 概述 / 317
7.2 MediaProvider的启动及创建 / 318
7.2.1 Context的getContentResolver函数分析 / 318
7.2.2 MediaStore.Image.Media的query函数分析 / 319
7.2.3 MediaProvider的启动及创建总结 / 329
7.3 SQLite创建数据库分析 / 330
7.3.1 SQLite及SQLiteDatabase家族 / 330
7.3.2 MediaProvider创建数据库分析 / 335
7.3.3 SQLiteDatabase创建数据库的分析总结 / 344
7.4 Cursor 的query函数的实现分析 / 345
7.4.1 提取query关键点 / 346
7.4.2 MediaProvider 的query分析 / 349
7.4.3 query关键点分析 / 356
7.4.4 Cursor query实现分析总结 / 368
7.5 Cursor close函数实现分析 / 368
7.5.1 客户端close的分析 / 369
7.5.2 服务端close的分析 / 371
7.5.3 finalize函数分析 / 372
7.5.4 Cursor close函数总结 / 373
7.6 ContentResolver openAssetFileDescriptor函数分析 / 373
7.6.1 openAssetFileDescriptor之客户端调用分析 / 374
7.6.2 ContentProvider的 openTypedAssetFile函数分析 / 376
7.6.3 跨进程传递文件描述符的探讨 / 379
7.6.4 openAssetFileDescriptor函数分析总结 / 384
7.7 本章学习指导 / 384
7.8 本章小结 / 385
第8章 深入理解ContentService和AccountManagerService / 386
8.1 概述 / 387
8.2 数据更新通知机制分析 / 387
8.2.1 初识ContentService / 388
8.2.2 ContentResovler 的registerContentObserver分析 / 389
8.2.3 ContentResolver的 notifyChange分析 / 391
8.2.4 数据更新通知机制总结和深入探讨 / 393
8.3 AccountManagerService分析 / 395
8.3.1 初识AccountManagerService / 396
8.3.2 AccountManager addAccount分析 / 402
8.3.3 AccountManagerService的分析总结 / 414
8.4 数据同步管理SyncManager分析 / 415
8.4.1 初识SyncManager / 415
8.4.2 ContentResolver 的requestSync分析 / 424
8.4.3 数据同步管理SyncManager分析总结 / 436
8.5 本章学习指导 / 437
8.6 本章小结 / 437
“深入理解Android”系列书籍的规划路线图 / 438


---------------------------3769748 - 深入理解Android:Wi-Fi、NFC和GPS卷[按需印刷]---------------------------


《深入理解Android: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

推荐

车牌查询
桂ICP备20004708号-3