前 言
本书的主要内容及特色
本书是“深入理解Android”系列的第三本,也是完结篇。按照“深入理解Android”系列图书的路线图,本书所关注的重点是Android中有关用户交互的Framework的知识。总体来说,本书所涵盖的内容分为两个部分:
第一部分是对构成Android用户交互基础的WindowManagerService、输入系统以及控件系统的介绍。
第二部分是以StatusBarManagerService、NotificationManagerService以及Wallpaper-ManagerService为例,对Android在第一部分内容基础之上所实现的UI相关的服务进行探讨。
具体内容如下:
第1章介绍进行Android分析的一些准备工作,包括如何获取与编译代码,使用IDE进行代码的阅读及调试等。
第2章,根据邓凡平的建议,由《深入理解Android:卷II》第2章内容升级而来,将Android升级到 4.2.2版本,并增加了与AIDL相关的内容。Binder与MessageQueue是Android进程间通信与任务调度的重要工具。因此,进行Android的深入研究之前理解这两个工具的工作原理十分重要。
第3章主要介绍与AudioService服务相关的内容,包括音量控制、AudioFocus以及音量控制面板等内容。
第4章介绍WindowManagerService的工作原理,其中涵盖与窗口的创建、布局及动画相关的知识。
第5章介绍Android输入系统的工作原理,主要探讨输入事件的监听、读取、翻译、封装以及派发循环等内容。
第6章介绍Android控件系统的工作原理,包括控件系统的测量、布局、绘制、动画以及输入事件的派发。
第7章主要介绍与SystemUI相关的内容,其中包括StatusBarManagerService与NotificationManagerService两个系统服务,以及与状态栏和导航栏有关的知识。
第8章介绍与Android壁纸相关的内容,包括WallpaperManagerService系统服务、动态壁纸与静态壁纸的工作原理。另外还介绍WindowManagerService对壁纸窗口的一些特殊处理。
其中第1章和第2章是全书的基础。第3章的内容相对独立,主要介绍与用户交互直接相关的音频方面的知识。而第4~6章是本书的重点内容,介绍Android UI的通用实现。在深入理解这三章的知识之后,读者可以通过借鉴第7章和第8章所介绍的SystemUI与壁纸的架构来提高Android与用户进行交互的深度定制能力。另外,Android源代码作为一个优秀的开源项目,大到架构的设计,小到某段代码的实现,都包含值得我们细细品味与吸收的设计思想,并且可以应用于自己所设计的代码上。因此,本书在代码分析的过程中尽可能地给出Android采用某种特定实现的原因或对其优秀的设计思路进行提取,希望读者能够知其然更知其所以然,进而能够在代码研究的过程中跳出代码的具体实现来体会其设计思想,而这正是本书根本目的所在。
本文出版自《华章出版社》 作者: 张大伟
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。