
使用 Room 管理数据库
文章平均质量分 79
Android Jetpack Room 数据库相关
精装机械师
这个作者很懒,什么都没留下…
展开
-
Room 数据库自增长id导致数据插入失败的解决方案
在Room数据库中,我们定义数据实体类跟数据库表进行一一对应,在定义的表存我们经常会用到自增长的id列,定义了自增长的列,在插入数据时构建数据实体对象时,如果数据实体类中使用了自增长的id列,数据插入时id列的值可以设置为 null (Kotlin,Java中使用默认值),数据库会自动编排id值。但是如果数据实体类中的id列指定了默认值,出现了数据无法插入的问题(笔者经历)。原创 2022-05-23 10:14:22 · 4351 阅读 · 0 评论 -
使用单元测试测试您的 Room 数据库
在使用 Room 数据库时,务必需要验证数据库和用户数据的稳定性。尤其是在数据库迁移过程中,必须进行进行充分的测试,保证数据库按预定完成迁移。使用单元测试来完成这些测试,无需创建Activity, 执行速度也比界面测试速度快,可以大大提高效率。另外,在应用功能界面进行测试数据库,也并不能完全覆盖所有用例,所以使用单元测试也更加全面测试。原创 2021-06-30 12:03:52 · 1237 阅读 · 0 评论 -
在 Room 数据库中创建视图
视图是一个或者多个基本表(视图)构建的一个虚拟表,使用视图有许多的好处,其中主要的两个好处是封装查询和灵活的安全性控制。Room 从2.1.0 及更高版本开始支持 SQLite 数据库视图功能,你可以将查询封装到一个类中, Room 将这些支持查询的类称之为视图,视图在 DAO 中使用跟普通的数据实体对象一样。在本篇幅,我们将详细介绍在 Room 中创建视图并使用。原创 2021-06-29 16:54:04 · 1286 阅读 · 0 评论 -
Android Room 数据库详解
数据库是 Room 的三大组件之一,数据库是用来存储数据的,是 Room 中必不可少的一部分。本篇幅将详细讲解 Room 数据库相关的内容原创 2021-06-10 17:58:10 · 9912 阅读 · 2 评论 -
Android Room 数据访问对象(DAO)详解
使用 Room 库存储应用数据时,通过定义数据访问对象(DAOs)与存储的数据进行交互。每一个 DAO 包含用来访问应用数据库的抽象方法,在编译时, Room 会自动生成并实现在 DAO 中定义的访问方法另外,本文本还介绍了 DAO 异步查询的相关内容,为了防止数据查询操作阻断 UI,造成 UI 卡顿,Room 不允许在 UI 主线程中访问数据库。这就意味着开发者必须将 DAO 中的查询定义成异步的。Room 库包含与多阿哥不同的框架进行集成,提供异步查询支持。原创 2021-06-06 23:30:23 · 4687 阅读 · 1 评论 -
Android Room 数据实体类详解
在使用 Room 库的过程中,定义数据实体类来表示需要存储的数据对象,每一个数据实体类与关联的数据库中的表相对应,数据实体类的每一个字段对应表中的列,每一个数据实体类对象都对应表中的一行数据。在Room中,数据实体类的关系也会折射成数据库表关系。原创 2021-06-06 09:51:59 · 6246 阅读 · 3 评论 -
Android Room 库基础入门
一、前言 Room 是 Android Jetpack 的一部分。在 Android 中数据库是SQLite数据库,Room 就是在SQLite上面提供了一个抽象层,通过 Room 既能流畅地访问数据库,又能充分展示 SQLite 数据库的强大功能。Room 主要有以下几大优点:在编译时校验 SQL 语句;易用的注解减少重复和易错的模板代码;简化的数据库迁移路径。 正是 Room 有以上的优点,所以建议原创 2021-06-06 09:25:23 · 3055 阅读 · 4 评论