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

深入淺出 Android Jetpack

深入淺出 Android Jetpack

定 價(jià):¥79.00

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

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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

  蕭文翰,從業(yè)8年,移動(dòng)開發(fā)工程師,先后就職于多家公司,在Android移動(dòng)開發(fā)與測(cè)試領(lǐng)域擁有豐富經(jīng)驗(yàn)。出版著作《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ā)簡(jiǎn)史 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庫(kù) 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)識(shí)AppCompatActivity 19
2.4.2  實(shí)戰(zhàn)AppCompatDelegate 19
2.5  AppCompatDialogFragment 22
2.5.1  AppCompatDialogFragment和AppCompatDialog 22
2.5.2  實(shí)戰(zhàn)簡(jiǎn)單對(duì)話框 23
2.5.3  實(shí)戰(zhàn)列表選擇對(duì)話框 25
2.5.4  自定義菜單布局 30
2.5.5  AppCompatDialogFragment小結(jié) 32
2.6  AppCompatResources 32
2.6.1  點(diǎn)擊狀態(tài)選擇器 32
2.6.2  從resId獲取Drawable對(duì)象 33
2.7  AnimatedStateListDrawableCompat 33
2.7.1  定義動(dòng)畫執(zhí)行腳本 33
2.7.2  執(zhí)行動(dòng)畫 34
2.8  ActionMenuView 35
2.8.1  添加菜單項(xiàng) 35
2.8.2  添加ActionMenuView 35
2.8.3  綁定ActionMenuView和菜單項(xiàng),并實(shí)現(xiàn)點(diǎn)擊響應(yīng) 36
2.9  AppCompatAutoCompleteTextView與AppCompatMultiAutoCompleteTextView 37
2.9.1  認(rèn)識(shí)ViewCompat類 37
2.9.2  理解PorterDuff混合模式 37
2.9.3  實(shí)戰(zhàn)更改背景色調(diào) 39
2.10  AppCompatButton和AppCompatToggleButton 40
2.10.1  設(shè)置按鈕文本風(fēng)格 40
2.10.2  設(shè)置按鈕文本是否自動(dòng)大寫 41
2.11  AppCompatCheckBox與AppCompatRadioButton 41
2.12  AppCompatCheckedTextView 42
2.13  AppCompatEditText 42
2.13.1  定義操作菜單 42
2.13.2  實(shí)現(xiàn)所選文本自定義操作功能 43
2.14  AppCompatImageButton和AppCompatImageView 45
2.14.1  圖片色調(diào)適用場(chǎng)景 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)顯示使用場(chǎng)景 50
2.16.2  開啟自適應(yīng)顯示模式 50
2.16.3  配置自定義縮放方式 52
2.16.4  通過預(yù)設(shè)值方式縮放 53
2.17  TooltipCompat 53
2.18  其他控件及注意事項(xiàng) 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)建測(cè)試 80
5.1  概述 80
5.2  構(gòu)建App的最佳實(shí)踐 80
5.3  測(cè)試的最佳實(shí)踐 81
5.3.1  測(cè)試的分類 81
5.3.2  用于編寫測(cè)試代碼的目錄結(jié)構(gòu) 81
5.3.3  選擇測(cè)試設(shè)備 82
5.3.4  添加測(cè)試依賴庫(kù) 82
5.4  單元測(cè)試 83
5.4.1  本地單元測(cè)試 83
5.4.2  設(shè)備單元測(cè)試 94
5.5  UI測(cè)試 96
5.5.1  Espresso 96
5.5.2  UI Automator 103
5.6  集成測(cè)試 109
5.6.1  運(yùn)行針對(duì)Service的測(cè)試 109
5.6.2  運(yùn)行針對(duì)Content Provider的測(cè)試 112
5.6.3  針對(duì)Broadcast的測(cè)試 116
第6章  ViewBinding和DataBinding 117
6.1  Android應(yīng)用架構(gòu)原則 117
6.1.1  分離關(guān)注點(diǎn) 117
6.1.2  通過模型驅(qū)動(dòng)界面 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  實(shí)戰(zhàn)視圖綁定 120
6.3  數(shù)據(jù)綁定 123
6.3.1  聲明式編程簡(jiǎn)述 123
6.3.2  啟用數(shù)據(jù)綁定支持 124
6.3.3  可觀察的數(shù)據(jù)對(duì)象 124
6.3.4  實(shí)戰(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  實(shí)戰(zhàn)Lifecycle組件 139
7.2.1  添加依賴項(xiàng) 140
7.2.2  實(shí)現(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è)計(jì)導(dǎo)航堆棧 144
8.1.3  針對(duì)深層鏈接跳轉(zhuǎn)的返回處理 144
8.2  實(shí)戰(zhàn)Navigation組件 145
8.2.1  一個(gè)簡(jiǎn)單的示例 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  實(shí)戰(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í)時(shí)數(shù)據(jù) 192
10.1  概述 192
10.2  LiveData組件的簡(jiǎn)單使用 193
10.3  跨組件數(shù)據(jù)共享 195
10.4  轉(zhuǎn)換、獲取、合并LiveData對(duì)象 197
10.4.1  轉(zhuǎn)換LiveData對(duì)象類型 197
10.4.2  獲取LiveData對(duì)象 198
10.4.3  合并多個(gè)LiveData對(duì)象 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  實(shí)戰(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  針對(duì)需要長(zhǎng)時(shí)間執(zhí)行的任務(wù)的處理 221
第12章  Room數(shù)據(jù)庫(kù)組件 224
12.1  概述 224
12.2  Room的簡(jiǎn)單使用 225
12.2.1  添加Room依賴 225
12.2.2  設(shè)計(jì)數(shù)據(jù)表并實(shí)現(xiàn)實(shí)體類 226
12.2.3  實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作 226
12.3  實(shí)體類 228
12.3.1  構(gòu)建復(fù)合主鍵 228
12.3.2  自定義字段/數(shù)據(jù)表名 228
12.3.3  忽略特定的成員變量 229
12.3.4  定義實(shí)體之間的關(guān)系 229
12.4  數(shù)據(jù)訪問對(duì)象類 235
12.5  DAO類的實(shí)現(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ù)庫(kù)的升級(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  實(shí)戰(zhàn)Paging組件 243
13.2.1  添加依賴項(xiàng) 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) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)