Jacky's blog
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)
  • tutorial
  • Jetpack

    • Room
    • Jetpack Lifecycle详解
  • 组件

  • AndroidX

  • 动态化
  • APM

  • 组件化

  • 鸿蒙

  • 工具

  • 其他

  • Kotlin

  • android_snip
  • ANDROID 深度技术面试问答
  • android tool
  • android图形系统
  • android
  • jetpack
Jacky
2023-11-02

Room

用途

Room 在 SQLite 之上提供访问层,可在编译时检查 SQL 查询,并把结果映射到 Kotlin/Java 对象。适合保存本地结构化数据;它不负责服务端同步,也不会自动决定业务中的冲突处理策略。

组成 职责
Entity 用 @Entity 描述表结构,用 @PrimaryKey 标识主键
DAO 用 @Dao 定义查询、插入和更新接口;查询通过 @Query 声明
Database 继承 RoomDatabase,声明 entities 和数据库版本,并提供 DAO 入口

使用时需要补齐的条件

  • 根据项目的 Room 版本选择对应的依赖和注解处理方式,版本以项目配置为准。
  • 默认情况下,Room 不允许在主线程访问数据库;采用适合项目的异步调用方式。
  • 表结构变化需要处理版本与迁移。破坏性迁移会删除已有数据,不能作为默认升级方案。

下一步记录:结合实际项目补充 Entity、DAO、数据库创建及迁移验证示例。当前页只记录基础结构,尚未包含项目实践。

来源:Android 官方 Room 文档 (opens new window)、数据库迁移 (opens new window)。

#Jetpack#Android#base
上次更新: 2026/10/18, 22:14:48
tutorial
Jetpack Lifecycle详解

← tutorial Jetpack Lifecycle详解→

最近更新
01
Codex 使用与会话管理指南
10-17
02
Tailscale 入门:让自己的设备跨网络互联
10-15
03
GitHub CLI(gh)工作流与 CI 排查
10-08
更多文章>
Theme by Vdoing | Copyright © 2019-2026 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式