注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書工具書科技工具書深入淺出 Android Jetpack

深入淺出 Android Jetpack

深入淺出 Android Jetpack

定 價:¥79.00

作 者: 蕭文翰
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302596103 出版時間: 2022-02-01 包裝:
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  《深入淺出Android Jetpack》系統(tǒng)地講解Android Jetpack組件庫的使用和原理,具體涉及應(yīng)用架構(gòu)、生命周期管理、數(shù)據(jù)庫操作、UI數(shù)據(jù)綁定等。第1章概括地講述Android Jetpack的目標(biāo)、內(nèi)容等;第2~5章介紹Jetpack組件中的基礎(chǔ)內(nèi)容,具體涉及用于不同Android版本間的UI兼容處理組件、用于Kotlin編程語言的KTX擴(kuò)展組件、多Dex打包APK組件以及包含單元測試、UI測試、集成測試的測試組件;第6~13章介紹Jetpack組件庫中架構(gòu)的內(nèi)容,這也是本書的重點部分,具體涉及視圖綁定組件、生命周期組件、頁面導(dǎo)航組件等多種架構(gòu)組件,以及用于本地數(shù)據(jù)庫存儲的Room組件和用于處理分頁加載的Paging組件。通過使用Jetpack可以大大提升Android開發(fā)的效率,因此本書非常適合Android開發(fā)人員使用。

作者簡介

  蕭文翰,從業(yè)8年,移動開發(fā)工程師,先后就職于多家公司,在Android移動開發(fā)與測試領(lǐng)域擁有豐富經(jīng)驗。出版著作《Flutter從0基礎(chǔ)到App上線》,翻譯著作《Android App Hook and Plug-In Technology》等。

圖書目錄

第1章  概述 1
1.1  Android Jetpack是什么 1
1.1.1  基礎(chǔ)部分 2
1.1.2  架構(gòu)部分 2
1.1.3  界面部分 3
1.1.4  行為部分 4
1.2  Android Jetpack的發(fā)展史與AndroidX 5
1.2.1  Android App開發(fā)簡史 5
1.2.2  Android Jetpack的誕生和使命 5
1.2.3  Android Jetpack與AndroidX的關(guān)系 5
1.3  如何使用本書 6
1.3.1  開發(fā)環(huán)境概覽 6
1.3.2  本書的結(jié)構(gòu) 7
1.3.3  本書的用法 7
第2章  Appcompat UI兼容組件 8
2.1  Appcompat概覽 8
2.2  集成Appcompat庫 9
2.3  App Bar 9
2.3.1  什么是App Bar 9
2.3.2  添加ToolBar控件 10
2.3.3  給ToolBar設(shè)置標(biāo)題和子標(biāo)題 11
2.3.4  在ToolBar上添加圖標(biāo) 12
2.3.5  在ToolBar上增加返回按鈕 12
2.3.6  在ToolBar上添加菜單 14
2.3.7  為ToolBar添加搜索功能 16
2.3.8  自定義ToolBar樣式 17
2.3.9  ToolBar小結(jié) 18
2.4  AppCompatActivity與AppCompatDelegate 18
2.4.1  認(rèn)識AppCompatActivity 19
2.4.2  實戰(zhàn)AppCompatDelegate 19
2.5  AppCompatDialogFragment 22
2.5.1  AppCompatDialogFragment和AppCompatDialog 22
2.5.2  實戰(zhàn)簡單對話框 23
2.5.3  實戰(zhàn)列表選擇對話框 25
2.5.4  自定義菜單布局 30
2.5.5  AppCompatDialogFragment小結(jié) 32
2.6  AppCompatResources 32
2.6.1  點擊狀態(tài)選擇器 32
2.6.2  從resId獲取Drawable對象 33
2.7  AnimatedStateListDrawableCompat 33
2.7.1  定義動畫執(zhí)行腳本 33
2.7.2  執(zhí)行動畫 34
2.8  ActionMenuView 35
2.8.1  添加菜單項 35
2.8.2  添加ActionMenuView 35
2.8.3  綁定ActionMenuView和菜單項,并實現(xiàn)點擊響應(yīng) 36
2.9  AppCompatAutoCompleteTextView與AppCompatMultiAutoCompleteTextView 37
2.9.1  認(rèn)識ViewCompat類 37
2.9.2  理解PorterDuff混合模式 37
2.9.3  實戰(zhàn)更改背景色調(diào) 39
2.10  AppCompatButton和AppCompatToggleButton 40
2.10.1  設(shè)置按鈕文本風(fēng)格 40
2.10.2  設(shè)置按鈕文本是否自動大寫 41
2.11  AppCompatCheckBox與AppCompatRadioButton 41
2.12  AppCompatCheckedTextView 42
2.13  AppCompatEditText 42
2.13.1  定義操作菜單 42
2.13.2  實現(xiàn)所選文本自定義操作功能 43
2.14  AppCompatImageButton和AppCompatImageView 45
2.14.1  圖片色調(diào)適用場景 45
2.14.2  添加矢量圖素材 46
2.14.3  定義矢量圖色調(diào) 47
2.14.4  設(shè)置矢量圖色調(diào) 47
2.15  AppCompatSpinner 48
2.16  AppCompatTextView 50
2.16.1  文本自適應(yīng)顯示使用場景 50
2.16.2  開啟自適應(yīng)顯示模式 50
2.16.3  配置自定義縮放方式 52
2.16.4  通過預(yù)設(shè)值方式縮放 53
2.17  TooltipCompat 53
2.18  其他控件及注意事項 54
第3章  Android KTX擴(kuò)展組件 55
3.1  概述 55
3.2  Core KTX 56
3.2.1  Animation 56
3.2.2  Content 57
3.2.3  Database 58
3.2.4  Graphics 60
3.2.5  Util 64
3.2.6  View 66
3.3  Collection 67
3.3.1  集成Collection KTX 68
3.3.2  獲取集合中所有的Key和Value 68
3.3.3  集合的遍歷 68
3.3.4  集合元素的增加與替換 69
3.4  Fragment 70
3.4.1  集成Fragment KTX 70
3.4.2  Fragment事務(wù)操作 70
3.5  小結(jié) 71
第4章  MultiDex打包APK 72
4.1  APK解構(gòu) 72
4.2  64KB方法數(shù)限制 72
4.3  避免64KB方法數(shù)限制 73
4.3.1  問題重現(xiàn) 73
4.3.2  使用MultiDex 74
4.3.3  MultiDex的局限性 75
4.3.4  縮減方法數(shù) 76
4.4  問題排查 77
第5章  Test構(gòu)建測試 80
5.1  概述 80
5.2  構(gòu)建App的最佳實踐 80
5.3  測試的最佳實踐 81
5.3.1  測試的分類 81
5.3.2  用于編寫測試代碼的目錄結(jié)構(gòu) 81
5.3.3  選擇測試設(shè)備 82
5.3.4  添加測試依賴庫 82
5.4  單元測試 83
5.4.1  本地單元測試 83
5.4.2  設(shè)備單元測試 94
5.5  UI測試 96
5.5.1  Espresso 96
5.5.2  UI Automator 103
5.6  集成測試 109
5.6.1  運(yùn)行針對Service的測試 109
5.6.2  運(yùn)行針對Content Provider的測試 112
5.6.3  針對Broadcast的測試 116
第6章  ViewBinding和DataBinding 117
6.1  Android應(yīng)用架構(gòu)原則 117
6.1.1  分離關(guān)注點 117
6.1.2  通過模型驅(qū)動界面 118
6.1.3  官方建議的應(yīng)用架構(gòu) 118
6.1.4  Android Jetpack架構(gòu)組件 119
6.2  視圖綁定 119
6.2.1  啟用視圖綁定支持 119
6.2.2  實戰(zhàn)視圖綁定 120
6.3  數(shù)據(jù)綁定 123
6.3.1  聲明式編程簡述 123
6.3.2  啟用數(shù)據(jù)綁定支持 124
6.3.3  可觀察的數(shù)據(jù)對象 124
6.3.4  實戰(zhàn)單向數(shù)據(jù)綁定 126
6.3.5  創(chuàng)建和自定義綁定類 133
6.3.6  綁定適配器 134
6.3.7  雙向數(shù)據(jù)綁定 136
第7章  生命周期 139
7.1  概述 139
7.2  實戰(zhàn)Lifecycle組件 139
7.2.1  添加依賴項 140
7.2.2  實現(xiàn)生命周期感知接口 140
7.2.3  使用生命周期感知類 141
7.3  Lifecycle KTX API 141
第8章  頁面導(dǎo)航 143
8.1  頁面導(dǎo)航原則 143
8.1.1  向上和返回按鈕的邏輯 144
8.1.2  設(shè)計導(dǎo)航堆棧 144
8.1.3  針對深層鏈接跳轉(zhuǎn)的返回處理 144
8.2  實戰(zhàn)Navigation組件 145
8.2.1  一個簡單的示例 145
8.2.2  添加導(dǎo)航目的地 151
8.2.3  構(gòu)建導(dǎo)航圖 154
8.2.4  在目的地之間跳轉(zhuǎn) 159
8.3  Navigation KTX API 176
8.3.1  Navigation Runtime KTX 176
8.3.2  Navigation Fragment KTX 177
8.3.3  Navigation UI KTX 180
第9章  ViewModel視圖數(shù)據(jù)模型 182
9.1  概述 182
9.2  實戰(zhàn)ViewModel 182
9.2.1  處理屏幕旋轉(zhuǎn) 183
9.2.2  在Fragment之間共享數(shù)據(jù) 185
9.2.3  AndroidViewModel 187
9.3  與DataBinding組件配合使用 188
第10章  LiveData實時數(shù)據(jù) 192
10.1  概述 192
10.2  LiveData組件的簡單使用 193
10.3  跨組件數(shù)據(jù)共享 195
10.4  轉(zhuǎn)換、獲取、合并LiveData對象 197
10.4.1  轉(zhuǎn)換LiveData對象類型 197
10.4.2  獲取LiveData對象 198
10.4.3  合并多個LiveData對象 201
10.5  與其他架構(gòu)組件配合使用 202
10.5.1  LiveData與LifeCycle 202
10.5.2  ViewModel、LiveData與DataBinding 203

第11章  WorkManager任務(wù)管理器 207
11.1  概述 207
11.2  添加WorkManager依賴 208
11.3  實戰(zhàn)WorkManager 208
11.3.1  定義任務(wù) 209
11.3.2  單次任務(wù)的調(diào)度 210
11.3.3  周期性任務(wù)的調(diào)度 210
11.3.4  預(yù)約執(zhí)行的任務(wù) 211
11.3.5  為任務(wù)添加執(zhí)行策略 211
11.3.6  為失敗的任務(wù)設(shè)置重試策略 212
11.3.7  任務(wù)的管理 213
11.3.8  鏈?zhǔn)饺蝿?wù)流 217
11.3.9  向任務(wù)傳遞數(shù)據(jù) 218
11.3.10  在任務(wù)中執(zhí)行異步操作 220
11.3.11  針對需要長時間執(zhí)行的任務(wù)的處理 221
第12章  Room數(shù)據(jù)庫組件 224
12.1  概述 224
12.2  Room的簡單使用 225
12.2.1  添加Room依賴 225
12.2.2  設(shè)計數(shù)據(jù)表并實現(xiàn)實體類 226
12.2.3  實現(xiàn)數(shù)據(jù)庫操作 226
12.3  實體類 228
12.3.1  構(gòu)建復(fù)合主鍵 228
12.3.2  自定義字段/數(shù)據(jù)表名 228
12.3.3  忽略特定的成員變量 229
12.3.4  定義實體之間的關(guān)系 229
12.4  數(shù)據(jù)訪問對象類 235
12.5  DAO類的實現(xiàn)規(guī)范 235
12.6  數(shù)據(jù)的查詢操作 235
12.6.1  基本數(shù)據(jù)查詢操作 235
12.6.2  多條件查詢 236
12.6.3  過濾查詢結(jié)果 237
12.6.4  數(shù)據(jù)的插入操作 237
12.6.5  數(shù)據(jù)的更新操作 238
12.6.6  數(shù)據(jù)的刪除操作 238
12.7  數(shù)據(jù)庫的升級 238
12.8  設(shè)置預(yù)置數(shù)據(jù) 239
12.9  類型轉(zhuǎn)換器 240
12.10  與LiveData組件配合使用 241
第13章  Paging分頁加載組件 243
13.1  概述 243
13.2  實戰(zhàn)Paging組件 243
13.2.1  添加依賴項 244
13.2.2  Paging組件的結(jié)構(gòu) 244
13.2.3  構(gòu)建數(shù)據(jù)源 245
13.2.4  構(gòu)建視圖模型 248
13.2.5  構(gòu)建用戶界面 248
13.2.6  監(jiān)聽和顯示加載狀態(tài) 250

本目錄推薦

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