Thank you for your patience. This book is expected to be available in middle March. From today on, I will include some of the content of this book in my blog. Note that the original article is serialized without being edited by the publisher, so it may look a little non-professional.
Preface
Main content and features of this book
This book is the third book in the "deep understanding of Android" series and the second book in this series of topics [1]. This book will focus on Wi-Fi, NFC, GPS and other modules that are very important in the Android platform and have a strong background knowledge. Compared with the volume I and volume II that I wrote earlier, the difference between this book and them is:
- The content of volume I and volume II involves almost no professional knowledge. Readers can easily master the code after carefully studying it and improving the code reading ability.
- The Wi-Fi, NFC, and GPS modules described in this book have a lot of professional knowledge behind them, for example, Wi-Fi-related 802.11 protocol, Wi-Fi Alliance-defined Wi-Fi Simple Configuration and Wi-Fi P2P protocol, NFC Forum defined a complete set of NFC-related protocols, GPS-related satellite navigation principles, AGPS and OMA-SUPL protocols and so on. Obviously, if you do not understand these professional knowledge, you will not be able to really master their code implementation on the Android platform.
Considering the importance of this expertise, this book will focus on code-related expertise before explaining the implementation of Wi-Fi, NFC, and GPS modules on the Android platform. Of course, these professional knowledge is so rich that I cannot cover them all in a book.In order to facilitate readers to further study, each chapter of this book will list the references that I have read when writing them..
The following is an overview of this book:
- The first chapter introduces the content composition, tool usage, and the download method of the source code.
- The second chapter introduces Netd and related background knowledge.
- Chapter 3 describes basic Wi-Fi knowledge. Wi-Fi is the focus of this chapter, and it is also the most popular technology at the moment, so this book uses an entire chapter to introduce its basic knowledge.
- Chapter 4 introduces wpa_supplicant, which is the core software implementation in the Wi-Fi field.
- Chapter 5 introduces WifiService, which is a special Wi-Fi service module on the Android platform.
- Chapter 6 and Chapter 7 introduce two important technologies launched by the Wi-Fi Alliance, wi-Fi Simple Configuration, Wi-Fi P2P, and their code implementation on the Android platform.
- Chapter 8 introduces NFC background and NFC code implementation on the Android platform. NFC is also a long-history technology, hoping it will become popular with the popularity of Android.
- Chapter 9 describes the principles of GPS and the location management service architecture on the Android platform.
This book is explained by combining theory and code. It aims to guide readers to understand the working principles of Wi-Fi, NFC and GPS modules step by step. In short, I hope that the readers will have the following benefits after reading this book:
- Preliminary knowledge of Wi-Fi, NFC and GPS.
- Based on its implementation code, we can further deepen our understanding of these professional knowledge.
Target Audience
Readers who are suitable for reading this book include:
- Android system development engineers: system development engineers often need to have a deep understanding of the operating process of the system. The content of this book is what they want to know most in their work and study. Readers who are interested in specific modules can also read relevant chapters with a single knife.
- BSP development engineers for Wi-Fi, NFC, or GPS: BSP development engineers need to have a deep understanding of the working principles and background knowledge of these modules on the Android platform. Although this book does not introduce the implementation of these modules in the Linux Kernel layer, understanding their workflows in the user space will greatly help BSP development engineers expand their knowledge.
- Senior undergraduates, graduate students, and other readers interested in Wi-Fi, NFC, and GPS: on the basis of understanding the theory, how to implement or use them in actual code may be a field that many students seldom access. Therefore, this book deeply integrates theory with code implementation will certainly help you with this.
How to read this book
This book is a combination of professional knowledge and code implementation, so when reading:
- First, read the professional knowledge. If you know more about them, you can directly jump to the code implementation.
- Then the Code Implementation of the relevant modules in the Android platform. These code implementations are often based on a certain degree of professional knowledge. Therefore, when reading the code, readers must combine the aforementioned professional knowledge.
- At the end of each chapter, I will list the materials I have referenced when writing them. These materials are large enough for readers to conduct further research based on them.
In addition, similar to volumes 1 and II, the source code paths involved in this chapter are listed at the beginning of each chapter, only the file names of the source code and the names of the analyzed functions or related data structures are listed. For example:
[--> AndroidRuntime. cpp: name of a function or data structure]
// Here is the source code analysis and some comments
Finally, this book describes the relationship between classes and the function call process, using the UML static class diagram and sequence diagram. UML is a powerful tool, but its modeling specifications are too cumbersome. to describe the nature of things more simply and clearly, this book does not fully follow the UML modeling specifications. Here are two examples, 1 and 2.
Figure 1 UML example Diagram
In Figure 1:
- The box inside the external class is used to represent the internal class. In addition, external Class A. Internal Class B is also used to represent Internal classes.
- Interfaces and common classes are represented in the same block diagram.
Figure 2 shows the UML diagram used to describe the data structure in this book:
Figure 2 UML Example 2
Figure 2 shows the UML legends used to describe the data structure and members in this book.
Note: The UML diagrams used in this book are relatively simple. You do not have to spend a lot of time learning UML. In addition, for convenience, the UML diagram drawn in this book does not strictly abide by the UML specification. Please forgive me for this.
The Android source code and some development tools involved in this book are: http://115.com/lb/5lbdugrdt4r. For more information about how to use them, see Chapter 1st.
Errata and support
Due to the limited level of the author and the rush of writing time, some errors or inaccuracies may inevitably occur in the book. I urge readers to criticize and correct them. If you have any questions, you can leave a message in your email or blog to discuss with the author. My contact information is:
- Mailbox fanping.deng@gmail.com
- Blog blog.csdn.net/innostand http://my.oschina.net/innost/blog
Thank you
This book is coming soon! First of all, I would like to thank Yang fuchuan for his support. In addition, I would like to thank Bai Yu, the author of this article, for his rigorous and responsible work.
In addition, I would like to express my special thanks to Tieto. This is the first time I have worked for a foreign-invested enterprise. I am lucky and proud to have the open corporate culture of Tieto and the efficient work efficiency of the Android team, the tacit cooperation between team members, and the selfless and strong support of leadership. During the year of Tieto's employment, our Android team not only successfully won the customer's trust, but also won the unanimous approval of Tieto's headquarters and colleagues located in other countries. At the same time, the Team members also actively shared and published six high-quality articles in programmer magazine.
I would like to express my heartfelt thanks to the following leaders and colleagues of Tieto. They are Leo, hongbin, James, yantao, meiyang, dujiang, changgeng, caimin, wenjing, huaizhi, huirong, Baidu, huimin, yuzheng, Liuxuan, Emily, Diego, jinghua in Beijing., Jenny, etc, tianxiang and chengguo of Chengdu branch, Marcin, marcij, Filip Matusiak of Poland branch, Vaclav, Bronislav, Petrous Jan of Czech branch, and Mikel Echegoyen of Finland branch.
Of course, this book can be published quickly. I would also like to thank two experts who have contributed a great deal and are enthusiastic about participating in the technical review. Wu Jiliang, head of Wireless Team of Allwinner, and Yang, senior R & D manager of Qualcomm China. The high time of professionalism and technical skills embodied by the two experts in their respective fields reminds me that the author should keep in mind that "there is a long way to go, and I will go up and down to seek help ". In addition, Mao Xiaodong, Qualcomm's senior R & D manager in China, also provided great help for the successful compilation of this book. We would like to thank them.
Finally, I would like to thank my family and my wife. In addition, I especially hope that a healthy and lovely baby will be given to me next year. In this way, I will have an even greater motivation to give back to the readers who have spent precious time and energy paying attention to this book, as well as to all the teachers who have guided me in their life and career paths.
Deng fanping
In November 2013, Tieto Beijing Branch
[①] The first book in this series is the in-depth understanding of Android: Analysis of Telephony principles and best practices written by Yang qingping.