《高級Android開發強化實戰》是2018年6月電子工業出版社出版的圖書,作者是王辰龍。
基本介紹
- 書名:高級Android開發強化實戰
- 作者:王辰龍
- ISBN:9787121342981
- 頁數:296頁
- 定價:89元
- 出版社:電子工業出版社
- 出版時間:2018年6月
- 開本:16開
內容簡介,圖書目錄,
內容簡介
本書收集了約20個關於高級Android開發的進階實例,這些實例都是對在日常開發中遇到的問題的抽象,涉及整個Android開發的各個技術棧。本書從常見的問題入手,引導讀者逐步地掌握進階的各個實例,同時提供分析和解決問題的思考過程,尋求最優方案。本書的內容分為以下幾個部分。進階基礎:通過管中窺豹,剖析Activity和View的一些基本概念,展示源碼分析的常見方法;高階控制項:講解MD的兩個複合布局和約束布局,介紹高級控制項的開發流程;項目架構:架構是項目的骨骼,該部分介紹主流的MVP系列和Flux架構;回響式編程:解析回響式編程三劍客RxJava+Dagger+Retrofit的不同特性組合使用方法;功能與動畫:列舉若干實際開發中的經典實例,包含功能定製和頁面動畫等;Kotlin與SVG:講解Kotlin程式語言和SVG圖像技術的若干開發技巧;測試與最佳化:介紹自動化測試框架的設計方法,以及最佳化套用的常用工具。通過對本書的學習,讀者可以極大地提高Android開發的工程能力,從而成為一名合格的高級Android工程師,不僅在理論上有所提升,在實踐中也能直接套用。高級Android工程師通過對本書的學習也能完善知識體系和技術棧。
圖書目錄
第1章 進階基礎 1
1.1 深入剖析 Activity 的生命周期 1
1.1.1 Activity的生命周期的各種狀態 2
1.1.2 實例:準備 4
1.1.3 實例:因硬體導致的生命周期變化 6
1.1.4 實例:頁面切換時的生命周期變化 11
1.1.5 實例:由系統原因導致的生命周期變化 16
1.2 深入剖析Activity的啟動模式 20
1.2.1 ADB命令 20
1.2.2 標準模式 21
1.2.3 棧頂復用模式 25
1.2.4 棧內復用模式 27
1.2.5 單實例模式 32
1.2.6 startActivity 34
1.3 深入剖析View的工作流程 36
1.3.1 裝飾視圖和MeasureSpec 38
1.3.2 測量 39
1.3.3 布局 44
1.3.4 繪製 45
1.4 深入剖析View的動畫原理 47
1.4.1 默認視圖動畫 48
1.4.2 自定義視圖動畫 51
1.4.3 幀動畫 54
1.4.4 屬性動畫 54
1.4.5 列表控制項 58
第2章 高階控制項 62
2.1 熟練掌握AppBarLayout的開發技術 62
2.1.1 搭建項目框架 63
2.1.2 頁面設定ViewPager布局 67
2.1.3 頁面添加AppBarLayout布局 73
2.1.4 頁面添加AppBarLayout邏輯 76
2.1.5 頁面添加AppBarLayout動畫 81
2.2 熟練掌握 CoordinatorLayout的開發技術 85
2.2.1 項目框架 86
2.2.2 布局設計 86
2.2.3 聯動邏輯 90
2.2.4 圖片互動 93
2.3 熟練掌握 ConstraintLayout 的開發技術 96
2.3.1 工程配置 97
2.3.2 約束布局 99
2.3.3 鏈式結構 107
第3章 項目架構 110
3.1 頂層設計 Android 的工程架構 110
3.1.1 MVC架構 111
3.1.2 MVP架構 116
3.1.3 MVVM架構 120
3.2 頂層設計基於Flux的流式架構 124
3.2.1 視圖 125
3.2.2 行為創建器 129
3.2.3 調度器 131
3.2.4 存儲器 133
第4章 回響式編程 141
4.1 全面解析回響式庫RxJava的使用方式 141
4.1.1 項目框架 142
4.1.2 鏈式表達式 144
4.1.3 流的加工函式 148
4.1.4 Ambda表達式 151
4.1.5 網路請求 152
4.1.6 控制項的異步事件 159
4.1.7 執行緒安全 161
4.2 全面解析依賴注入庫 Dagger 的使用方式 164
4.2.1 工程配置 165
4.2.2 主頁邏輯 166
4.2.3 詳情邏輯 169
4.3 基於回響式編程的網路數據同步及快取框架 173
4.3.1 工程配置 174
4.3.2 首頁 175
4.3.3 數據源 177
4.3.4 依賴注入 179
4.3.5 無快取模式 181
4.3.6 快取模式 183
第5章 炫酷功能 186
5.1 設計與實現朋友圈視頻的滾動播放功能 186
5.1.1 項目框架 187
5.1.2 視頻列表 189
5.1.3 視頻項的適配器 193
5.1.4 視頻列表項 196
5.2 設計與實現基於 DialogFragment 的底部彈窗布局 200
5.2.1 首頁邏輯 201
5.2.2 彈窗樣式 202
5.2.3 彈窗邏輯 204
第6章 精美動畫 208
6.1 實現頁面切換中元素分享的動畫效果 208
6.1.1 項目框架 208
6.1.2 效果顯示動畫 210
6.1.3 預留位置動畫 214
6.2 實現頁面展開中圓形爆炸的動畫效果 220
6.2.1 首頁邏輯 221
6.2.2 新頁邏輯 223
6.2.3 顯示動畫 226
6.2.4 退出動畫 229
第7章 Kotlin與SVG 231
7.1 Kotlin基礎教程 231
7.1.1 基礎部分 232
7.1.2 進階部分 237
7.2 SVG基礎教程 241
7.2.1 Vector圖像 242
7.2.2 Vector動畫 245
7.2.3 第三方Sharp庫 249
第8章 測試與最佳化 254
8.1 基於Espresso和Dagger的自動化測試框架 254
8.1.1 工程配置 255
8.1.2 業務邏輯 257
8.1.3 功能測試 265
8.2 最佳化記憶體泄漏與電量消耗的技術框架 272
8.2.1 記憶體泄漏 272
8.2.2 電量最佳化 282