首页
›
移动端与Android应用开发
›
030-离线优先架构本地持久化
›
《Room数据库从入门到基础应用》
VIP20
本课程属于:030-离线优先架构本地持久化
移动端与Android应用开发 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Room数据库从入门到基础应用
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
Room数据库简介与环境搭建
Android Studio版本要求 · Gradle依赖配置 · KSP/KAPT选择
Room
数据库简介
02
Kotlin项目中的Room依赖配置
build.gradle模块级配置 · 添加KSP插件 · 同步项目
Kotlin
Room
03
Entity基础
创建第一个实体类 · @Entity注解 · @PrimaryKey
Entity
创建第一个实体类
04
字段约束与索引
@ColumnInfo · 非空 · 唯一约束
字段约束
索引
05
类型转换器(TypeConverter)
自定义类型转换器 · 注册到RoomDatabase · 存储Date和List等复杂类型
TypeConverte…
类型转换器
06
Dao接口基础
@Dao注解 · @Insert · @Query
Dao
接口基础
07
插入操作与返回ID
@Insert(onConflict… · 返回插入行的rowId或List · 自动生成主键
ID
插入操作
08
查询操作与参数绑定
@Query带参数 · 使用:param命名参数 · List查询
查询操作
参数绑定
09
更新与删除操作
@Update返回int · @Delete返回int · 根据条件删除的@Query
更新
删除操作
10
Database类定义
@Database注解 · entities列表 · version
Database
类定义
11
Room.databaseBuilder完整配置
context · 数据库名称 · fallbackToDestruct…
Room.databas…
完整配置
12
基础的CRUD操作实战
创建数据库 · 插入多条数据 · 查询全部
CRUD
基础的
13
Flow与Room结合
Dao返回Flow> · 在ViewModel中收集 · 自动刷新UI
Flow
Room
14
LiveData与Room结合
Dao返回LiveData · 从Activity/Fragment… · 生命周期安全
LiveData
Room
15
Room与ViewModel集成
创建ViewModel类 · 使用Repository模式 · 暴露LiveData或Flow给UI
Room
ViewModel
16
一次性查询与RxJava
使用ListenableFuture · Guava · 或Kotlin协程suspend函数…
RxJava
一次性查询
17
协程支持
Dao定义suspend函数 · 在viewModelScope中调用 · 处理异常
协程支持
Dao
18
多表关联查询
@Relation注解 · 嵌套对象 · 一对一
多表关联查询
Relation
19
嵌套对象与Flat查询
使用@Embedded · 扁平化查询结果集 · 避免N+1问题
Flat
嵌套对象
20
数据库迁移(Migration)
Migration类定义 · startVersion/endVe… · 执行SQL语句
Migration
数据库迁移
21
降级与破坏性迁移
fallbackToDestruct… · 手动处理降级 · 生产环境迁移策略
降级
破坏性迁移
22
预填充数据库
createFromAsset() · createFromFile() · 预置数据在APK内或从文件加载
预填充数据库
createFromAs…
23
Room测试基础
添加测试依赖 · 创建测试数据库 · 使用@RunWith(Android…
Room
测试基础
24
单元测试与插桩测试
测试Database构建 · 测试Dao操作 · 使用TestRule
单元测试
插桩测试
25
调试Room
启用SQL日志 · 检查生成的SQL表 · 使用Database Inspect…
Room
调试
26
常见错误与解决
表已存在异常 · 主键冲突 · 类型转换器未注册
常见错误
解决
27
Room与Paging3集成
添加Paging依赖 · 创建PagingSource · 在Dao中返回PagingSourc…
Room
Paging3
28
加密Room数据库
集成SQLCipher · 配置SupportFactory · 密码存储策略
Room
加密
29
性能优化
批量插入使用@Transaction · 避免在主线程查询 · 索引优化
性能优化
Transaction
30
完整项目实战
一个笔记应用:Entity · Dao · Database
完整项目实战
Entity
所属VIP或分类
同VIP:API接入封装支持离线读写的实践
同VIP:DataStore偏好存储迁移实操
同VIP:DataStore偏好设置持久化教程