作 者:葉坤 著
定 價:79
出 版 社:電子工業出版社
出版日期:2020年07月01日
頁 數:225
裝 幀:平裝
ISBN:9787121390555
"對Jetpack中的每個組件都進行深入淺出地介紹。學習組件如何使用的同時,也對其源碼進行簡要分析。每個組件都通過實例進行演示,優選地減少讀者的學習成本。Android初學者可通過本書直接上手Google官方標準的應用架構MVVM。Android老手可以通過本書快速了解Jetpack組件,辨別是否對架構自己的應用程序有所幫助。"
●第1章初識Jetpack1
1.1Android應用程序架構設計標準的缺失概論1
1.2什麼是Jetpack2
1.3Jetpack與AndroidX3
1.4遷移至AndroidX4
1.5新建項目默認支持AndroidX6
1.6總結8
第2章LifeCycle9
2.1LifeCycle的誕生9
2.2使用LifeCycle解耦頁面與組件10
2.2.1案例分析10
2.2.2LifeCycle的原理11
2.2.3解決方案12
2.3使用LifecycleService解耦Service與組件15
2.3.1LifeCycleService基本介紹15
2.3.2LifecycleService的具體使用方法16
2.4使用ProcessLifecycleOwner監聽應用程序的生命周期19
2.4.1ProcessLifecycleOwner存在的意義19
2.4.2ProcessLifecycleOwner的具體使用方法19
2.5總結22
第3章Navigation24
3.1Navigation的誕生24
3.2Navigation素25
3.3使用Navigation26
3.3.1創建NavigationGraph26
3.3.2添加NavHostFragment28
3.3.3創建destination30
3.3.4完成Fragment頁面切換33
3.3.5使用NavController完成導航36
3.3.6添加頁面切換動畫效果38
3.4使用safeargs插件傳遞參數40
3.4.1常見的傳遞參數的方式40
3.4.2使用safeargs傳遞參數40
3.5NavigationUI的使用方法43
3.5.1NavigationUI存在的意義43
3.5.2案例分析43
3.5.3擴展延伸48
3.6深層鏈接DeepLink49
3.6.1DeepLink的兩種應用場景49
3.6.2PendingIntent的方式50
3.6.3URL的方式52
3.7總結54
第4章ViewModel56
4.1視圖與數據模型之間的橋梁ViewModel56
4.2ViewModel的生命周期特性57
4.3ViewModel的基本使用方法58
4.4ViewModel的原理62
4.5ViewModel與AndroidViewModel64
4.6ViewModel與onSaveInstanceState()方法65
4.7總結65
第5章LiveData67
5.1實時數據LiveData67
5.2LiveData和ViewModel的關繫68
5.3LiveData的基本使用方法68
5.4LiveData的原理71
5.5LiveData.observeForever()方法72
5.6ViewModel+LiveData實現Fragment間通信73
5.7總結79
第6章Room80
6.1Android官方ORM庫Room80
6.2Room的基本使用方法81
6.2.1Room的相關概念81
6.2.2案例分析82
6.3Room與LiveData、ViewModel結合使用87
6.3.1LiveData和ViewModel帶來的好處87
6.3.2案例優化89
6.4Room數據庫升級91
6.4.1使用Migration升級數據庫91
6.4.2異常處理92
6.4.3Schema文件93
6.4.4銷毀與重建策略95
6.5預填充數據庫96
6.5.1createFromAsset()API和createFromFile()API96
6.5.2createFromAsset()API的使用方法97
6.6總結101
第7章WorkManager102
7.1WorkManager的作用102
7.2WorkManager的3個重要特點102
7.3WorkManager的兼容方案103
7.4WorkManager的基本使用方法104
7.4.1添加依賴104
7.4.2使用Worker類定義任務104
7.4.3使用WorkRequest配置任務105
7.4.4將任務提交給繫統107
7.4.5觀察任務的狀態107
7.4.6取消任務108
7.4.7WorkManager與Worker之間的參數傳遞108
7.4.8周期性任務PeriodicWorkRequest110
7.4.9任務鏈110
7.5總結112
第8章DataBinding113
8.1DataBinding的意義和優勢113
8.2DataBinding的簡單綁定114
8.2.1未采用DataBinding的編碼方式114
8.2.2采用DataBinding完成簡單的綁定116
8.3DataBinding響應事件124
8.4二級頁面的綁定127
8.5BindingAdapter的原理130
8.6自定義BindingAdapter132
8.6.1自定義BindingAdapter的基本方法132
8.6.2方法重載135
8.6.3多參數重載137
8.6.4可選舊值138
8.7雙向綁定141
8.7.1單向綁定和雙向綁定141
8.7.2實現雙向綁定142
8.7.3使用ObservableField優化雙向綁定145
8.7.4ObservableField與LiveData146
8.8RecyclerView的綁定機制147
8.9總結154
第9章Paging155
9.1Paging組件的意義155
9.2Paging支持的架構類型155
9.3Paging的工作原理157
9.4Paging的3個核心類158
9.53種DataSource159
9.6 itionalDataSource的使用方法160
9.7PageKeyedDataSource的使用方法176
9.8ItemKeyedDataSource的使用方法184
9.9BoundaryCallback的使用方法190
9.9.1BoundaryCallback的意義190
9.9.2BoundaryCallback的使用流程分析191
9.9.3項目演示192
9.10總結202
第10章MVVM架構204
10.1MVVM架構與Jetpack204
10.2數據模型驅動界面更新204
10.3簡要回顧Jetpack組件206
10.4使用Jetpack組件構建MVVM應用程序207
10.5總結224
《Android Jetpack應用指南》講解的是Android Jetpack最核心的內容——架構。第1章將對Jetpack做一個大致的介紹。第2章至第9章,將分別詳細介紹為搭建MVVM架構而設計的各個Jetpack組件,包括LiveData、ViewModel、DataBinding等。第10章是對前面各章節的總結,將向讀者詳細介紹什麼是數據模型驅動界面更新、什麼是MVVM架構,以及如何利用Jetpack組件搭建符合MVVM架構規範的應用程序。
本書假設讀者對Android應用程序有基本的了解,希望繫統學習Jetpack,並打算最終使用Jetpack組件架構符合MVVM規範的應用程序。
葉坤 著
"葉坤,畢業於閩南師範大學計算機繫。曾先後就職於網龍、搜狐暢遊17173、豆瓣。在豆瓣任職期間,負責豆瓣FM Android客戶端的研發工作。現為美餐網資深Android工程師,負責美餐行星項目Android客戶端的研發工作。他在大學期間便開始自學Android研發技術,從事Android研發已有10年,在該領域有較為豐富的經驗,曾譯《Android高性能編程》一書。除了碼字,他還十分喜愛阿根廷探戈。"