使用Kotlin Flow构建响应式Android应用
📚 共计 30 章节
01
Flow初探
什么是Flow?为什么需要Flow?Flow与LiveData的对比。
概念
对比
02
Flow基础
Flow的创建、发射与收集、冷流与热流的概念。
创建
冷热流
03
Flow操作符(上)
map、filter、transform、take、drop等基础操作符。
操作符
基础
04
Flow操作符(下)
flatMapConcat、flatMapMerge、combine、zip、catch、retry等高级操作符。
高级
组合
05
Flow与协程
Flow在ViewModel中的使用、flowOn与dispatcher切换、catch异常处理。
协程
ViewModel
06
StateFlow与SharedFlow
StateFlow的使用场景、SharedFlow的使用场景、与LiveData的迁移。
状态
事件
07
Flow在Repository层的应用
网络请求与数据库的Flow化、数据流合并、错误重试策略。
Repository
重试
08
Flow在UI层的应用
collect与collectLatest、Lifecycle.repeatOnLifecycle、StateFlow的观察。
UI
生命周期
09
Flow测试
TestDispatcher、Flow的单元测试、StateFlow的测试。
测试
Turbine
10
Flow实战:搜索防抖、数据刷新、分页加载
搜索防抖、数据刷新、分页加载等常见场景。
实战
防抖
11
Flow与Room
Room的Flow支持、观察数据库变化、结合Flow进行数据驱动UI更新。
Room
数据库
12
Flow与Retrofit
Retrofit的Flow支持、网络请求的Flow化、统一错误处理。
Retrofit
网络
13
Flow与DataStore
DataStore的Flow支持、替代SharedPreferences、类型安全的数据存储。
DataStore
存储
14
Flow与WorkManager
WorkManager的Flow支持、后台任务的Flow化、进度监听。
WorkManager
后台
15
Flow与Navigation
Navigation的Flow支持、导航事件的Flow化、Safe Args的Flow封装。
导航
SafeArgs
16
Flow与Paging3
Paging3的Flow支持、分页数据的Flow化、RemoteMediator的Flow实现。
分页
Paging3
17
Flow与Compose
Compose中的Flow收集、StateFlow与Compose状态、副作用处理。
Compose
状态
18
Flow与依赖注入
Hilt/Dagger中的Flow注入、ViewModel中的Flow注入、Scope管理。
Hilt
DI
19
Flow与多线程
Flow的线程安全、并发收集、背压处理。
线程
并发
20
Flow与生命周期
LifecycleOwner的Flow扩展、自动取消收集、避免内存泄漏。
生命周期
泄漏
21
Flow与错误处理
catch操作符的深度使用、retry与retryWhen、自定义错误处理策略。
错误
重试
22
Flow与状态管理
StateFlow的状态管理、SharedFlow的事件管理、UI状态与事件分离。
状态管理
事件
23
Flow与测试进阶
Flow的虚拟时间测试、Flow的断言库、集成测试。
测试进阶
虚拟时间
24
Flow与性能优化
Flow的冷启动优化、数据流合并优化、避免重复计算。
性能
优化
25
Flow与架构模式
MVVM中的Flow、MVI中的Flow、Clean Architecture中的Flow。
架构
MVVM
26
Flow与跨组件通信
SharedFlow的跨组件通信、事件总线替代方案、作用域管理。
通信
事件总线
27
Flow与数据同步
离线优先策略、网络与本地数据同步、冲突解决。
离线
同步
28
Flow与动画
Flow驱动的动画、状态驱动的动画、手势与Flow结合。
动画
手势
29
Flow与传感器
传感器数据的Flow化、实时数据流处理、功耗优化。
传感器
实时
30
Flow与未来
Flow在Kotlin Multiplatform中的应用、Flow与Coroutine的未来发展、最佳实践总结。
KMP
未来