注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)計算機組織與體系結(jié)構(gòu)深入理解Android:卷Ⅲ

深入理解Android:卷Ⅲ

深入理解Android:卷Ⅲ

定 價:¥89.00

作 者: 張大偉
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 程序設(shè)計 計算機/網(wǎng)絡(luò) 移動開發(fā)

ISBN: 9787111507369 出版時間: 2015-08-01 包裝:
開本: 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書關(guān)注的重點是Android中有關(guān)用戶交互的Framework的知識。第1章和第2章是全書的基礎(chǔ)。第3章的內(nèi)容相對獨立,主要介紹與用戶交互直接相關(guān)的音頻方面的知識。而第4-6章是本書的重點內(nèi)容,介紹了AndroidUI的通用實現(xiàn)。在深入理解這三章的知識之后,讀者可以通過借鑒第7章和第8兩章所介紹的SystemUI與壁紙的架構(gòu)來提高對Android的用戶交互進行深度定制的能力。另外,Android源代碼作為一個優(yōu)秀的開源項目,大到架構(gòu)的設(shè)計,小到某段代碼的實現(xiàn),都包含值得我們細細地品味與吸收的設(shè)計思想,并且可以應(yīng)用于自己所設(shè)計的代碼之上。因此本書在代碼分析的過程中會盡可能地對Android采用某種特定實現(xiàn)的原因給出解釋或?qū)ζ鋬?yōu)秀的設(shè)計思路進行提取,希望讀者能夠知其然更知其所以然,進而能夠在代碼研究的過程中跳出代碼的具體實現(xiàn)來體會其設(shè)計思想,而這正是本書根本目的所在。

作者簡介

暫缺《深入理解Android:卷Ⅲ》作者簡介

圖書目錄

推薦序
前 言
第1章 開發(fā)環(huán)境部署1
1.1獲取Android源代碼1
1.2Android的編譯3
1.3在IDE中導入Android源代碼4
1.3.1將Android源代碼導入Eclipse4
1.3.2將Android源代碼導入SourceInsight5
1.4調(diào)試Android源代碼6
1.4.1使用Eclipse調(diào)試Android Java源代碼6
1.4.2使用gdb調(diào)試Android C/C++源代碼8
1.5本章小結(jié)9
第2章深入理解Java Binder和MessageQueue10
2.1概述11
2.2Java層中的Binder分析11
2.2.1Binder架構(gòu)總覽11
2.2.2初始化Java層Binder框架13
2.2.3窺一斑,可見全豹乎16
2.2.4理解AIDL25
2.2.5Java層Binder架構(gòu)總結(jié)28
2.3心系兩界的MessageQueue28
2.3.1MessageQueue的創(chuàng)建29
2.3.2提取消息29
2.3.3nativePollOnce函數(shù)分析32
2.3.4MessageQueue總結(jié)42
2.4本章小結(jié)44
第3章 深入理解AudioService45
3.1概述46
3.2音量管理47
3.2.1音量鍵的處理流程47
3.2.2通用的音量設(shè)置函數(shù)setStreamVolume()61
3.2.3靜音控制63
3.2.4音量控制小結(jié)67
3.3音頻外設(shè)的管理68
3.3.1 WiredAccessoryObserver 設(shè)備狀態(tài)的監(jiān)控68
3.3.2AudioService的外設(shè)狀態(tài)管理73
3.3.3音頻外設(shè)管理小結(jié)78
3.4AudioFocus機制的實現(xiàn)78
3.4.1AudioFocus最簡單的例子79
3.4.2AudioFocus實現(xiàn)原理簡介81
3.4.3申請AudioFocus82
3.4.4釋放AudioFocus86
3.4.5AudioFocus小結(jié)87
3.5AudioService的其他功能88
3.6本章小結(jié)89
第4章 深入理解WindowManagerService90
4.1初識WindowManagerService91
4.1.1一個從命令行啟動的動畫窗口91
4.1.2WMS的構(gòu)成99
4.1.3初識WMS的小結(jié)103
4.2WMS的窗口管理結(jié)構(gòu)104
4.2.1理解WindowToken107
4.2.2理解WindowState111
4.2.3理解DisplayContent112
4.3理解窗口的顯示次序112
4.3.1主序、子序和窗口類型112
4.3.2通過主序與子序確定窗口的次序114
4.3.3更新顯示次序到Surface119
4.3.4關(guān)于顯示次序的小結(jié)119
4.4窗口的布局119
4.4.1從relayoutWindow()開始120
4.4.2布局操作的外圍代碼分析124
4.4.3初探performLayoutAndPlaceSurfacesLockedInner()127
4.4.4布局的前期處理128
4.4.5布局DisplayContent130
4.4.6布局的最終階段150
4.5WMS的動畫系統(tǒng)150
4.5.1Android動畫原理簡介151
4.5.2WMS的動畫系統(tǒng)框架155
4.5.3WindowAnimator分析156
4.5.4深入理解窗口動畫160
4.5.5交替運行的布局系統(tǒng)與動畫系統(tǒng)173
4.5.6動畫系統(tǒng)總結(jié)174
4.6本章小結(jié)174
第5章 深入理解Android輸入系統(tǒng)176
5.1初識Android輸入系統(tǒng)177
5.1.1getevent與sendevent工具178
5.1.2Android輸入系統(tǒng)簡介179
5.1.3IMS的構(gòu)成181
5.2原始事件的讀取與加工185
5.2.1基礎(chǔ)知識:INotify與Epoll186
5.2.2 InputReader的總體流程189
5.2.3 深入理解EventHub191
5.2.4 深入理解InputReader205
5.2.5原始事件的讀取與加工總結(jié)225
5.3輸入事件的派發(fā)225
5.3.1通用事件派發(fā)流程226
5.3.2按鍵事件的派發(fā)237
5.3.3DispatcherPolicy與InputFilter247
5.3.4輸入事件的派發(fā)總結(jié)250
5.4輸入事件的發(fā)送、接收與反饋250
5.4.1深入理解InputChannel251
5.4.2連接InputDispatcher和窗口252
5.4.3事件的發(fā)送260
5.4.4事件的接收263
5.4.5事件的反饋與發(fā)送循環(huán)264
5.4.6輸入事件的發(fā)送、接收與反饋總結(jié)267
5.5關(guān)于輸入系統(tǒng)的其他重要話題267
5.5.1輸入事件ANR的產(chǎn)生267
5.5.2 焦點窗口的確定270
5.5.3以軟件方式模擬用戶操作273
5.6本章小結(jié)273
第6章 深入理解控件系統(tǒng)275
6.1 初識Android的控件系統(tǒng)276
6.1.1 另一種創(chuàng)建窗口的方法277
6.1.2 控件系統(tǒng)的組成278
6.2 深入理解WindowManager279
6.2.1 WindowManager的創(chuàng)建與體系結(jié)構(gòu)279
6.2.2 通過WindowManagerGlobal添加窗口282
6.2.3 更新窗口的布局284
6.2.4 刪除窗口285
6.2.5 WindowManager的總結(jié)285
6.3 深入理解ViewRootImpl286
6.3.1 ViewRootImpl的創(chuàng)建及其重要的成員286
6.3.2 控件系統(tǒng)的心跳:performTraversals()290
6.3.3 ViewRootImpl總結(jié)317
6.4 深入理解控件樹的繪制317
6.4.1 理解Canvas317
6.4.2 View.invalidate()與臟區(qū)域320
6.4.3 開始繪制321
6.4.4 軟件繪制的原理323
6.4.5 硬件加速繪制的原理334
6.4.6 使用繪圖緩存346
6.4.7 控件動畫356
6.4.8 繪制控件樹的總結(jié)360
6.5 深入理解輸入事件的派發(fā)361
6.5.1 觸摸模式361
6.5.2 控件焦點363
6.5.3 輸入事件派發(fā)的綜述376
6.5.4 按鍵事件的派發(fā)381
6.5.5 觸摸事件的派發(fā)388
6.5.6 輸入事件派發(fā)的總結(jié)404
6.6 Activity與控件系統(tǒng)405
6.6.1 理解PhoneWindow405
6.6.2 Activity窗口的創(chuàng)建與顯示414
6.7 本章小結(jié)416
第7章 深入理解SystemUI418
7.1 初識SystemUI419
7.1.1 SystemUIService的啟動420
7.1.2 狀態(tài)欄與導航欄的創(chuàng)建422
7.1.3 理解IStatusBarService425
7.1.4 SystemUI的體系結(jié)構(gòu)427
7.2 深入理解狀態(tài)欄428
7.2.1 狀態(tài)欄窗口的創(chuàng)建與控件樹結(jié)構(gòu)429
7.2.2 通知信息的管理與顯示434
7.2.3 系統(tǒng)狀態(tài)圖標區(qū)的管理與顯示448
7.2.4 狀態(tài)欄總結(jié)452
7.3 深入理解導航欄452
7.3.1 導航欄的創(chuàng)建453
7.3.2 虛擬按鍵的工作原理459
7.3.3 SearchPanel462
7.3.4 關(guān)于導航欄的其他話題465
7.3.5 導航欄總結(jié)471
7.4 禁用狀態(tài)欄與導航欄的功能472
7.4.1 如何禁用狀態(tài)欄與導航欄的功能472
7.4.2 StatusBarManagerService對禁用標記的維護473
7.4.3 狀態(tài)欄與導航欄對禁用標記的響應(yīng)474
7.5 理解SystemUIVisibility475
7.5.1 SystemUIVisibility在系統(tǒng)中的漫游過程476
7.5.2 SystemUIVisibility發(fā)揮作用482
7.5.3 SystemUIVisibility總結(jié)494
7.6 本章小結(jié)495
第8章 深入理解Android壁紙496
8.1 初識Android壁紙497
8.2深入理解動態(tài)壁紙498
8.2.1啟動動態(tài)壁紙的方法498
8.2.2壁紙服務(wù)的啟動原理498
8.2.3 理解UpdateSurface()方法510
8.2.4 壁紙的銷毀515
8.2.5 理解Engine的回調(diào)516
8.3 深入理解靜態(tài)壁紙—ImageWallpaper519
8.3.1 獲取用作靜態(tài)壁紙的位圖519
8.3.2 靜態(tài)壁紙位圖的設(shè)置522
8.3.3 連接靜態(tài)壁紙的設(shè)置與獲取—WallpaperObserver524
8.4 WMS對壁紙窗口的特殊處理526
8.4.1 壁紙窗口Z序的確定527
8.4.2 壁紙窗口的可見性533
8.4.3 壁紙窗口的動畫535
8.4.4 壁紙窗口總結(jié)538
8.5 本章小結(jié)539

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號