Android 十全大補:從 Kotlin、MVVM 到測試的全方面介紹(iT邦幫忙鐵人賽系列書)
內容描述
完整介紹各種Android開發所需要必備的能力,Kotlin、架構、非同步、儲存、連線、依賴注入、測試,一本書全部都給你!
本書改編自第11屆iT邦幫忙鐵人賽,Mobile Development組佳作同名系列文章——《Android十全大補》,完整收錄了Android App開發的各種領域之最佳實踐,包含架構、非同步、儲存、連線、依賴注入、測試等不同主題,除了介紹基本使用方法以外,也包含深入分析的部分,希望除了讓讀者知道如何使用外,也能更完整的理解Android App開發的方方面面。
🚩精彩教學
你將學會Android官方推薦的開發架構
- MVP、MVVM分析比較
- 為何使用ViewModel
- LiveData深入探討
你將學會如何在Android使用依賴注入
- Dagger深入探討
- 為什麼有了Dagger還要學習Hilt
- 純Kotlin的解決方案 - Koin
你將學會多種不同領域的最佳實踐
- Retrofit
- Room、DataStore
- RxJava、Coroutine
- Espresso、Mockito、MockK
- DiffUtil、ListAdapter、SortedList
- ConcatAdapter
本書範例檔下載網址:
https://github.com/Jintin/AndroidShiQuan
目錄大綱
第00章 Kotlin
➔Variable
➔Function
➔Class
第01章 Architecture 架構篇
➔MVP
➔MVVM
ViewModel
➔SavedInstanceState vs ViewModel
➔ViewModelStore & ViewModelStoreOwner
➔ViewModelProviderFactory
➔ViewModelProvider
➔ViewModels
➔Lifecycle
LiveData
➔Lifecycle & LifecycleOwner
➔Observe
➔LiveData vs MutableLiveData
➔Transformations
➔Custom LiveData
第02章 Asynchronous 非同步篇
RxJava
➔Observable
➔Observer
➔Operator
➔Scheduler
➔Subject
Coroutine
➔Suspend
➔CoroutineScope
➔Cancel
➔CoroutineScope Builder
➔Dispatchers
➔Flow
第03章 Network 網路篇
Retrofit
➔Service Interface
➔Create Retrofit Instance
➔Execute & Enqueue
➔CallAdapter
➔Logging
➔Dynamic Proxy
➔How Retrofit works
第04章 Data Storage 資料存取篇
SharePreferences
➔AndroidX SharePreferences
➔KTX
➔PreferenceFragmentCompat
DataStore
➔Preference usage
➔Protocol buffer usage
Room
➔Entity
➔DAO
➔Database
➔Migration
➔Test
第05章 Dependency Injection 依賴注入篇
Dagger
➔Inject
➔Component
➔Module & Provide & Binds
➔Scope
➔Lazy & Provider
➔Qualifier & Named
➔Subcomponent
➔Dependencies
➔MultiBinding
Hilt
➔Scope & Component
➔InstallIn
➔Context
Koin
➔Module
➔StartKoin
➔Inject & Get
➔ViewModel
➔Named
➔KoinComponent
➔Test
➔Pros & Cons
第06章 View 視圖篇
➔Rendering
ViewBinding
RecyclerView
➔DiffUtil
➔ListAdapter
➔SortedList
➔Myers's Difference Algorithm
➔ConcatAdapter
第07章 Test 測試篇
➔TDD
Unit Test
➔Threading
Mockito
➔Mock
➔When
➔Verify
➔Annotation
MockK
➔Mockk
➔Every
➔Verify
➔Match
➔Coroutine
➔Static & Object
➔Spy
Espresso
➔ActivityScenarioRule
➔OnView
第08章 Annotation Processing 篇
➔Annotation
➔Annotation Processing
作者介紹
林俊廷 Jintin
擁有十多年Android開發經驗,且興趣廣泛不限於Android領域,曾在新創公司包辦Android、iOS、Web、Backend等所有技術工作,也意外地開發出一個破千star的Swift專案,但最鍾情的技術還是Android,目前還在努力朝Android破千star之路邁進。
熱愛分享,曾多次在Android Taipei / COSCUP / GDG DevFest Taipei/ DroidCon SG,等國內外知名技術研討會進行Android主題演講。