舉報

會員
深入淺出Android Jetpack
最新章節(jié):
13.2.6 監(jiān)聽和顯示加載狀態(tài)
本書系統(tǒng)地講解了AndroidJetpack組件庫的使用和原理。具體涉及應用架構、生命周期管理、數(shù)據(jù)庫操作、UI數(shù)據(jù)綁定等方方面面。并和實際案例相結合,突出其實用性。此外,本書還將從源碼層面剖析Jetpack組件,讓讀者理解Google官方的設計思想。AndroidJetpack是Google在2017年開發(fā)者大會上推出的一系列官方組件,用于構建AndroidApp。它不是簡單的一個庫或多個庫,而是Google對AndroidApp開發(fā)的一種態(tài)度和指導思想。它為開發(fā)者提供了完善的MVVM架構、高效的數(shù)據(jù)庫訪問、高性能的UI展現(xiàn)等等解決方案。對于初學者,直接接觸AndroidJetpack可以高效開發(fā)產品化的App并規(guī)避軟件漏洞;對于有一定經(jīng)驗的開發(fā)者,將舊Android工程與AndroidJetpack組件結合同樣尤為重要。
最新章節(jié)
- 13.2.6 監(jiān)聽和顯示加載狀態(tài)
- 13.2.5 構建用戶界面
- 13.2.4 構建視圖模型
- 13.2.3 構建數(shù)據(jù)源
- 13.2.2 Paging組件的結構
- 13.2.1 添加依賴項
品牌:清華大學
上架時間:2023-08-10 16:12:35
出版社:清華大學出版社
本書數(shù)字版權由清華大學提供,并由其授權上海閱文信息技術有限公司制作發(fā)行
- 13.2.6 監(jiān)聽和顯示加載狀態(tài) 更新時間:2023-08-10 16:45:07
- 13.2.5 構建用戶界面
- 13.2.4 構建視圖模型
- 13.2.3 構建數(shù)據(jù)源
- 13.2.2 Paging組件的結構
- 13.2.1 添加依賴項
- 13.2 實戰(zhàn)Paging組件
- 13.1 概述
- 第13章 Paging分頁加載組件
- 12.10 與LiveData組件配合使用
- 12.9 類型轉換器
- 12.8 設置預置數(shù)據(jù)
- 12.7 數(shù)據(jù)庫的升級
- 12.6.6 數(shù)據(jù)的刪除操作
- 12.6.5 數(shù)據(jù)的更新操作
- 12.6.4 數(shù)據(jù)的插入操作
- 12.6.3 過濾查詢結果
- 12.6.2 多條件查詢
- 12.6.1 基本數(shù)據(jù)查詢操作
- 12.6 數(shù)據(jù)的查詢操作
- 12.5 DAO類的實現(xiàn)規(guī)范
- 12.4 數(shù)據(jù)訪問對象類
- 12.3.4 定義實體之間的關系
- 12.3.3 忽略特定的成員變量
- 12.3.2 自定義字段/數(shù)據(jù)表名
- 12.3.1 構建復合主鍵
- 12.3 實體類
- 12.2.3 實現(xiàn)數(shù)據(jù)庫操作
- 12.2.2 設計數(shù)據(jù)表并實現(xiàn)實體類
- 12.2.1 添加Room依賴
- 12.2 Room的簡單使用
- 12.1 概述
- 第12章 Room數(shù)據(jù)庫組件
- 11.3.11 針對需要長時間執(zhí)行的任務的處理
- 11.3.10 在任務中執(zhí)行異步操作
- 11.3.9 向任務傳遞數(shù)據(jù)
- 11.3.8 鏈式任務流
- 11.3.7 任務的管理
- 11.3.6 為失敗的任務設置重試策略
- 11.3.5 為任務添加執(zhí)行策略
- 11.3.4 預約執(zhí)行的任務
- 11.3.3 周期性任務的調度
- 11.3.2 單次任務的調度
- 11.3.1 定義任務
- 11.3 實戰(zhàn)WorkManager
- 11.2 添加WorkManager依賴
- 11.1 概述
- 第11章 WorkManager任務管理器
- 10.5.2 ViewModel、LiveData與DataBinding
- 10.5.1 LiveData與LifeCycle
- 10.5 與其他架構組件配合使用
- 10.4.3 合并多個LiveData對象
- 10.4.2 獲取LiveData對象
- 10.4.1 轉換LiveData對象類型
- 10.4 轉換、獲取、合并LiveData對象
- 10.3 跨組件數(shù)據(jù)共享
- 10.2 LiveData組件的簡單使用
- 10.1 概述
- 第10章 LiveData實時數(shù)據(jù)
- 9.3 與DataBinding組件配合使用
- 9.2.3 AndroidViewModel
- 9.2.2 在Fragment之間共享數(shù)據(jù)
- 9.2.1 處理屏幕旋轉
- 9.2 實戰(zhàn)ViewModel
- 9.1 概述
- 第9章 ViewModel視圖數(shù)據(jù)模型
- 8.3.3 Navigation UI KTX
- 8.3.2 Navigation Fragment KTX
- 8.3.1 Navigation Runtime KTX
- 8.3 Navigation KTX API
- 8.2.4 在目的地之間跳轉
- 8.2.3 構建導航圖
- 8.2.2 添加導航目的地
- 8.2.1 一個簡單的示例
- 8.2 實戰(zhàn)Navigation組件
- 8.1.3 針對深層鏈接跳轉的返回處理
- 8.1.2 設計導航堆棧
- 8.1.1 向上和返回按鈕的邏輯
- 8.1 頁面導航原則
- 第8章 頁面導航
- 7.3 Lifecycle KTX API
- 7.2.3 使用生命周期感知類
- 7.2.2 實現(xiàn)生命周期感知接口
- 7.2.1 添加依賴項
- 7.2 實戰(zhàn)Lifecycle組件
- 7.1 概述
- 第7章 生命周期
- 6.3.7 雙向數(shù)據(jù)綁定
- 6.3.6 綁定適配器
- 6.3.5 創(chuàng)建和自定義綁定類
- 6.3.4 實戰(zhàn)單向數(shù)據(jù)綁定
- 6.3.3 可觀察的數(shù)據(jù)對象
- 6.3.2 啟用數(shù)據(jù)綁定支持
- 6.3.1 聲明式編程簡述
- 6.3 數(shù)據(jù)綁定
- 6.2.2 實戰(zhàn)視圖綁定
- 6.2.1 啟用視圖綁定支持
- 6.2 視圖綁定
- 6.1.4 Android Jetpack架構組件
- 6.1.3 官方建議的應用架構
- 6.1.2 通過模型驅動界面
- 6.1.1 分離關注點
- 6.1 Android應用架構原則
- 第6章 ViewBinding和DataBinding
- 5.6.3 針對Broadcast的測試
- 5.6.2 運行針對Content Provider的測試
- 5.6.1 運行針對Service的測試
- 5.6 集成測試
- 5.5.2 UI Automator
- 5.5.1 Espresso
- 5.5 UI測試
- 5.4.2 設備單元測試
- 5.4.1 本地單元測試
- 5.4 單元測試
- 5.3.4 添加測試依賴庫
- 5.3.3 選擇測試設備
- 5.3.2 用于編寫測試代碼的目錄結構
- 5.3.1 測試的分類
- 5.3 測試的最佳實踐
- 5.2 構建App的最佳實踐
- 5.1 概述
- 第5章 Test構建測試
- 4.4 問題排查
- 4.3.4 縮減方法數(shù)
- 4.3.3 MultiDex的局限性
- 4.3.2 使用MultiDex
- 4.3.1 問題重現(xiàn)
- 4.3 避免64KB方法數(shù)限制
- 4.2 64KB方法數(shù)限制
- 4.1 APK解構
- 第4章 MultiDex打包APK
- 3.5 小結
- 3.4.2 Fragment事務操作
- 3.4.1 集成Fragment KTX
- 3.4 Fragment
- 3.3.4 集合元素的增加與替換
- 3.3.3 集合的遍歷
- 3.3.2 獲取集合中所有的Key和Value
- 3.3.1 集成Collection KTX
- 3.3 Collection
- 3.2.6 View
- 3.2.5 Util
- 3.2.4 Graphics
- 3.2.3 Database
- 3.2.2 Content
- 3.2.1 Animation
- 3.2 Core KTX
- 3.1 概述
- 第3章 Android KTX擴展組件
- 2.18 其他控件及注意事項
- 2.17 TooltipCompat
- 2.16.4 通過預設值方式縮放
- 2.16.3 配置自定義縮放方式
- 2.16.2 開啟自適應顯示模式
- 2.16.1 文本自適應顯示使用場景
- 2.16 AppCompatTextView
- 2.15 AppCompatSpinner
- 2.14.4 設置矢量圖色調
- 2.14.3 定義矢量圖色調
- 2.14.2 添加矢量圖素材
- 2.14.1 圖片色調適用場景
- 2.14 AppCompatImageButton和AppCompatImageView
- 2.13.2 實現(xiàn)所選文本自定義操作功能
- 2.13.1 定義操作菜單
- 2.13 AppCompatEditText
- 2.12 AppCompatCheckedTextView
- 2.11 AppCompatCheckBox與AppCompatRadioButton
- 2.10.2 設置按鈕文本是否自動大寫
- 2.10.1 設置按鈕文本風格
- 2.10 AppCompatButton和AppCompatToggleButton
- 2.9.3 實戰(zhàn)更改背景色調
- 2.9.2 理解PorterDuff混合模式
- 2.9.1 認識ViewCompat類
- 2.9 AppCompatAutoCompleteTextView與AppCompatMultiAutoCompleteTextView
- 2.8.3 綁定ActionMenuView和菜單項,并實現(xiàn)點擊響應
- 2.8.2 添加ActionMenuView
- 2.8.1 添加菜單項
- 2.8 ActionMenuView
- 2.7.2 執(zhí)行動畫
- 2.7.1 定義動畫執(zhí)行腳本
- 2.7 AnimatedStateListDrawableCompat
- 2.6.2 從resId獲取Drawable對象
- 2.6.1 點擊狀態(tài)選擇器
- 2.6 AppCompatResources
- 2.5.5 AppCompatDialogFragment小結
- 2.5.4 自定義菜單布局
- 2.5.3 實戰(zhàn)列表選擇對話框
- 2.5.2 實戰(zhàn)簡單對話框
- 2.5.1 AppCompatDialogFragment和AppCompatDialog
- 2.5 AppCompatDialogFragment
- 2.4.2 實戰(zhàn)AppCompatDelegate
- 2.4.1 認識AppCompatActivity
- 2.4 AppCompatActivity與AppCompatDelegate
- 2.3.9 ToolBar小結
- 2.3.8 自定義ToolBar樣式
- 2.3.7 為ToolBar添加搜索功能
- 2.3.6 在ToolBar上添加菜單
- 2.3.5 在ToolBar上增加返回按鈕
- 2.3.4 在ToolBar上添加圖標
- 2.3.3 給ToolBar設置標題和子標題
- 2.3.2 添加ToolBar控件
- 2.3.1 什么是App Bar
- 2.3 App Bar
- 2.2 集成Appcompat庫
- 2.1 Appcompat概覽
- 第2章 Appcompat UI兼容組件
- 1.3.3 本書的用法
- 1.3.2 本書的結構
- 1.3.1 開發(fā)環(huán)境概覽
- 1.3 如何使用本書
- 1.2.3 Android Jetpack與AndroidX的關系
- 1.2.2 Android Jetpack的誕生和使命
- 1.2.1 Android App開發(fā)簡史
- 1.2 Android Jetpack的發(fā)展史與AndroidX
- 1.1.4 行為部分
- 1.1.3 界面部分
- 1.1.2 架構部分
- 1.1.1 基礎部分
- 1.1 Android Jetpack是什么
- 第1章 概述
- 前言
- 作者簡介
- 內容簡介
- 版權信息
- 封面
- 封面
- 版權信息
- 內容簡介
- 作者簡介
- 前言
- 第1章 概述
- 1.1 Android Jetpack是什么
- 1.1.1 基礎部分
- 1.1.2 架構部分
- 1.1.3 界面部分
- 1.1.4 行為部分
- 1.2 Android Jetpack的發(fā)展史與AndroidX
- 1.2.1 Android App開發(fā)簡史
- 1.2.2 Android Jetpack的誕生和使命
- 1.2.3 Android Jetpack與AndroidX的關系
- 1.3 如何使用本書
- 1.3.1 開發(fā)環(huán)境概覽
- 1.3.2 本書的結構
- 1.3.3 本書的用法
- 第2章 Appcompat UI兼容組件
- 2.1 Appcompat概覽
- 2.2 集成Appcompat庫
- 2.3 App Bar
- 2.3.1 什么是App Bar
- 2.3.2 添加ToolBar控件
- 2.3.3 給ToolBar設置標題和子標題
- 2.3.4 在ToolBar上添加圖標
- 2.3.5 在ToolBar上增加返回按鈕
- 2.3.6 在ToolBar上添加菜單
- 2.3.7 為ToolBar添加搜索功能
- 2.3.8 自定義ToolBar樣式
- 2.3.9 ToolBar小結
- 2.4 AppCompatActivity與AppCompatDelegate
- 2.4.1 認識AppCompatActivity
- 2.4.2 實戰(zhàn)AppCompatDelegate
- 2.5 AppCompatDialogFragment
- 2.5.1 AppCompatDialogFragment和AppCompatDialog
- 2.5.2 實戰(zhàn)簡單對話框
- 2.5.3 實戰(zhàn)列表選擇對話框
- 2.5.4 自定義菜單布局
- 2.5.5 AppCompatDialogFragment小結
- 2.6 AppCompatResources
- 2.6.1 點擊狀態(tài)選擇器
- 2.6.2 從resId獲取Drawable對象
- 2.7 AnimatedStateListDrawableCompat
- 2.7.1 定義動畫執(zhí)行腳本
- 2.7.2 執(zhí)行動畫
- 2.8 ActionMenuView
- 2.8.1 添加菜單項
- 2.8.2 添加ActionMenuView
- 2.8.3 綁定ActionMenuView和菜單項,并實現(xiàn)點擊響應
- 2.9 AppCompatAutoCompleteTextView與AppCompatMultiAutoCompleteTextView
- 2.9.1 認識ViewCompat類
- 2.9.2 理解PorterDuff混合模式
- 2.9.3 實戰(zhàn)更改背景色調
- 2.10 AppCompatButton和AppCompatToggleButton
- 2.10.1 設置按鈕文本風格
- 2.10.2 設置按鈕文本是否自動大寫
- 2.11 AppCompatCheckBox與AppCompatRadioButton
- 2.12 AppCompatCheckedTextView
- 2.13 AppCompatEditText
- 2.13.1 定義操作菜單
- 2.13.2 實現(xiàn)所選文本自定義操作功能
- 2.14 AppCompatImageButton和AppCompatImageView
- 2.14.1 圖片色調適用場景
- 2.14.2 添加矢量圖素材
- 2.14.3 定義矢量圖色調
- 2.14.4 設置矢量圖色調
- 2.15 AppCompatSpinner
- 2.16 AppCompatTextView
- 2.16.1 文本自適應顯示使用場景
- 2.16.2 開啟自適應顯示模式
- 2.16.3 配置自定義縮放方式
- 2.16.4 通過預設值方式縮放
- 2.17 TooltipCompat
- 2.18 其他控件及注意事項
- 第3章 Android KTX擴展組件
- 3.1 概述
- 3.2 Core KTX
- 3.2.1 Animation
- 3.2.2 Content
- 3.2.3 Database
- 3.2.4 Graphics
- 3.2.5 Util
- 3.2.6 View
- 3.3 Collection
- 3.3.1 集成Collection KTX
- 3.3.2 獲取集合中所有的Key和Value
- 3.3.3 集合的遍歷
- 3.3.4 集合元素的增加與替換
- 3.4 Fragment
- 3.4.1 集成Fragment KTX
- 3.4.2 Fragment事務操作
- 3.5 小結
- 第4章 MultiDex打包APK
- 4.1 APK解構
- 4.2 64KB方法數(shù)限制
- 4.3 避免64KB方法數(shù)限制
- 4.3.1 問題重現(xiàn)
- 4.3.2 使用MultiDex
- 4.3.3 MultiDex的局限性
- 4.3.4 縮減方法數(shù)
- 4.4 問題排查
- 第5章 Test構建測試
- 5.1 概述
- 5.2 構建App的最佳實踐
- 5.3 測試的最佳實踐
- 5.3.1 測試的分類
- 5.3.2 用于編寫測試代碼的目錄結構
- 5.3.3 選擇測試設備
- 5.3.4 添加測試依賴庫
- 5.4 單元測試
- 5.4.1 本地單元測試
- 5.4.2 設備單元測試
- 5.5 UI測試
- 5.5.1 Espresso
- 5.5.2 UI Automator
- 5.6 集成測試
- 5.6.1 運行針對Service的測試
- 5.6.2 運行針對Content Provider的測試
- 5.6.3 針對Broadcast的測試
- 第6章 ViewBinding和DataBinding
- 6.1 Android應用架構原則
- 6.1.1 分離關注點
- 6.1.2 通過模型驅動界面
- 6.1.3 官方建議的應用架構
- 6.1.4 Android Jetpack架構組件
- 6.2 視圖綁定
- 6.2.1 啟用視圖綁定支持
- 6.2.2 實戰(zhàn)視圖綁定
- 6.3 數(shù)據(jù)綁定
- 6.3.1 聲明式編程簡述
- 6.3.2 啟用數(shù)據(jù)綁定支持
- 6.3.3 可觀察的數(shù)據(jù)對象
- 6.3.4 實戰(zhàn)單向數(shù)據(jù)綁定
- 6.3.5 創(chuàng)建和自定義綁定類
- 6.3.6 綁定適配器
- 6.3.7 雙向數(shù)據(jù)綁定
- 第7章 生命周期
- 7.1 概述
- 7.2 實戰(zhàn)Lifecycle組件
- 7.2.1 添加依賴項
- 7.2.2 實現(xiàn)生命周期感知接口
- 7.2.3 使用生命周期感知類
- 7.3 Lifecycle KTX API
- 第8章 頁面導航
- 8.1 頁面導航原則
- 8.1.1 向上和返回按鈕的邏輯
- 8.1.2 設計導航堆棧
- 8.1.3 針對深層鏈接跳轉的返回處理
- 8.2 實戰(zhàn)Navigation組件
- 8.2.1 一個簡單的示例
- 8.2.2 添加導航目的地
- 8.2.3 構建導航圖
- 8.2.4 在目的地之間跳轉
- 8.3 Navigation KTX API
- 8.3.1 Navigation Runtime KTX
- 8.3.2 Navigation Fragment KTX
- 8.3.3 Navigation UI KTX
- 第9章 ViewModel視圖數(shù)據(jù)模型
- 9.1 概述
- 9.2 實戰(zhàn)ViewModel
- 9.2.1 處理屏幕旋轉
- 9.2.2 在Fragment之間共享數(shù)據(jù)
- 9.2.3 AndroidViewModel
- 9.3 與DataBinding組件配合使用
- 第10章 LiveData實時數(shù)據(jù)
- 10.1 概述
- 10.2 LiveData組件的簡單使用
- 10.3 跨組件數(shù)據(jù)共享
- 10.4 轉換、獲取、合并LiveData對象
- 10.4.1 轉換LiveData對象類型
- 10.4.2 獲取LiveData對象
- 10.4.3 合并多個LiveData對象
- 10.5 與其他架構組件配合使用
- 10.5.1 LiveData與LifeCycle
- 10.5.2 ViewModel、LiveData與DataBinding
- 第11章 WorkManager任務管理器
- 11.1 概述
- 11.2 添加WorkManager依賴
- 11.3 實戰(zhàn)WorkManager
- 11.3.1 定義任務
- 11.3.2 單次任務的調度
- 11.3.3 周期性任務的調度
- 11.3.4 預約執(zhí)行的任務
- 11.3.5 為任務添加執(zhí)行策略
- 11.3.6 為失敗的任務設置重試策略
- 11.3.7 任務的管理
- 11.3.8 鏈式任務流
- 11.3.9 向任務傳遞數(shù)據(jù)
- 11.3.10 在任務中執(zhí)行異步操作
- 11.3.11 針對需要長時間執(zhí)行的任務的處理
- 第12章 Room數(shù)據(jù)庫組件
- 12.1 概述
- 12.2 Room的簡單使用
- 12.2.1 添加Room依賴
- 12.2.2 設計數(shù)據(jù)表并實現(xiàn)實體類
- 12.2.3 實現(xiàn)數(shù)據(jù)庫操作
- 12.3 實體類
- 12.3.1 構建復合主鍵
- 12.3.2 自定義字段/數(shù)據(jù)表名
- 12.3.3 忽略特定的成員變量
- 12.3.4 定義實體之間的關系
- 12.4 數(shù)據(jù)訪問對象類
- 12.5 DAO類的實現(xiàn)規(guī)范
- 12.6 數(shù)據(jù)的查詢操作
- 12.6.1 基本數(shù)據(jù)查詢操作
- 12.6.2 多條件查詢
- 12.6.3 過濾查詢結果
- 12.6.4 數(shù)據(jù)的插入操作
- 12.6.5 數(shù)據(jù)的更新操作
- 12.6.6 數(shù)據(jù)的刪除操作
- 12.7 數(shù)據(jù)庫的升級
- 12.8 設置預置數(shù)據(jù)
- 12.9 類型轉換器
- 12.10 與LiveData組件配合使用
- 第13章 Paging分頁加載組件
- 13.1 概述
- 13.2 實戰(zhàn)Paging組件
- 13.2.1 添加依賴項
- 13.2.2 Paging組件的結構
- 13.2.3 構建數(shù)據(jù)源
- 13.2.4 構建視圖模型
- 13.2.5 構建用戶界面
- 13.2.6 監(jiān)聽和顯示加載狀態(tài) 更新時間:2023-08-10 16:45:07