第01章
LiveData与ViewModel初探
什么是LiveData?什么是ViewModel?为什么需要它们?MVVM架构简介。
入门概念
第02章
ViewModel基础
ViewModel的创建与生命周期、ViewModelProvider的使用、ViewModel与Activity/Fragment的通信。
生命周期核心
第03章
LiveData基础
LiveData的创建与观察、observe()与observeForever()的区别、LiveData的生命周期感知特性。
观察者生命周期
第04章
MutableLiveData与数据更新
MutableLiveData的使用、setValue()与postValue()的区别、数据更新与UI自动刷新。
数据更新线程
第05章
LiveData变换
map()与switchMap()操作符、MediatorLiveData的使用、合并多个LiveData源。
变换响应式
第06章
LiveData与Room结合
Room DAO返回LiveData、数据库变化自动通知UI、实战:列表数据实时更新。
数据库Room
第07章
LiveData与网络请求结合
在ViewModel中发起网络请求、使用LiveData管理请求状态(Loading/Success/Error)、实战:用户信息加载。
网络状态管理
第08章
LiveData与SharedPreferences
封装SharedPreferences为LiveData、实现设置页面的实时响应、实战:主题切换。
持久化设置
第09章
LiveData与Event事件处理
单次事件问题、EventWrapper封装、避免事件重复消费。
事件架构
第10章
LiveData与DataBinding
DataBinding基础、LiveData与DataBinding双向绑定、简化UI更新代码。
DataBindingUI
第11章
ViewModel与Fragment通信
Activity共享ViewModel、Fragment间数据共享、实战:主从布局。
Fragment共享
第12章
ViewModel与SavedStateHandle
进程被杀后数据恢复、SavedStateHandle的使用、实战:表单数据持久化。
状态保存恢复
第13章
ViewModelFactory
自定义ViewModelFactory、带参数的ViewModel创建、依赖注入基础。
工厂DI
第14章
LiveData与协程
viewModelScope的使用、在ViewModel中启动协程、LiveData与Flow的转换。
协程Flow
第15章
LiveData与RxJava对比
LiveData vs Observable/Flowable、何时选择LiveData、何时选择RxJava。
对比选型
第16章
LiveData的扩展函数
自定义LiveData扩展、LiveData的便捷操作、实战:倒计时LiveData。
扩展工具
第17章
LiveData的测试
JUnit测试LiveData、InstantTaskExecutorRule的使用、测试数据更新与观察。
测试JUnit
第18章
ViewModel的测试
测试ViewModel逻辑、Mock依赖、验证LiveData输出。
Mock验证
第19章
LiveData与Navigation组件
Navigation传参、LiveData与Safe Args结合、实战:详情页数据传递。
导航传参
第20章
LiveData与Paging3
Paging3简介、LiveData与PagingData结合、实战:无限滚动列表。
分页列表
第21章
LiveData与WorkManager
WorkManager返回LiveData、监听后台任务状态、实战:文件下载进度。
后台任务WorkManager
第22章
LiveData与Service
前台服务状态监听、使用LiveData更新服务状态、实战:音乐播放器。
服务音乐
第23章
LiveData与BroadcastReceiver
网络状态监听、电量变化监听、实战:网络变化提示。
广播网络
第24章
LiveData与ContentProvider
监听联系人变化、监听短信变化、实战:通讯录同步。
ContentProvider同步
第25章
LiveData与Sensor
传感器数据监听、加速度计数据展示、实战:计步器。
传感器计步
第26章
LiveData与Location
位置更新监听、使用LiveData管理位置数据、实战:地图定位。
定位地图
第27章
LiveData与CameraX
相机预览帧数据、使用LiveData传递图片数据、实战:拍照应用。
相机CameraX
第28章
Room + ViewModel + DataBinding综合实战
完整CRUD应用、数据流闭环、实战:笔记应用。
综合笔记
第29章
LiveData与ViewModel最佳实践
架构原则、代码规范、常见反模式、性能优化。
最佳实践规范
第30章
LiveData与ViewModel进阶
StateFlow与SharedFlow、LiveData的替代方案、未来趋势与迁移指南。
进阶StateFlow