问题标签 [android-room]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3547 浏览

android - 从 Flowable Room ORM 发射每个项目

我有一个 Room ORM 中的项目列表,我想在 Recycler 视图中显示。数据正在从网络添加到数据库。问题是每次从Flowable而不是每个项目发出整个列表时我都会得到。我试过 .distinctUntilChanged 没有区别。

我还尝试只返回一个项目,该项目仅加载第一个项目,即 db。

0 投票
1 回答
662 浏览

android - Android架构组件室库——如何处理来自DAO的livedata

我不清楚如何设置从房间中的 dao 返回的实时数据。让我们看一个房间中的示例 DAO:

特别是,我想看看getEvents Query 调用。它将返回 liveData 对象中的事件列表。这是如何从呼叫者端调用的?任何人都有一个可观察/可流动以及普通旧java的例子吗?

0 投票
6 回答
32022 浏览

android - 当列名相同时,如何表示与 Android Room 的“多对多”关系?

我如何表示与 的“多对多”关系Room?我的列名也一样。

例如我有GuestReservationReservationcan have many Guest's 和 aGuest可以是许多 Reservations 的一部分。

这是我的实体定义:

在查看文档时,我遇到了@Relation. 我发现它真的很混乱。

据此,我想创建一个 POJO 并在那里添加关系。因此,在我的示例中,我执行了以下操作:

上面我得到编译器错误:

我无法找到@Relation.

0 投票
7 回答
107316 浏览

android - Android Room - 通过自动生成获取新插入行的 id

这就是我使用 Room Persistence Library 将数据插入数据库的方式:

实体:

数据访问对象:

是否可以在上述方法本身中完成插入后返回 User 的 id 而无需编写单独的选择查询?

0 投票
1 回答
870 浏览

android - Android kotlin 和 Room Persistences 库未构建

我正在尝试将 Room 与 kotlin 一起使用,但没有任何效果,它会抛出以下内容:

在我的 Build.Gradle 类中,我有以下内容(乱序但所有重要信息都在这里)

我的模块类

我的道课

我错过了什么或做错了什么?

0 投票
1 回答
633 浏览

android - Android - RoomDb - 在另一个活动中的选择查询中找不到成功插入的实体

我有一个实体(Kotlin 代码):

这是各自的道类:

这是我正在执行插入操作的后台任务:

我正在使用以下代码插入实体:

成功后,我调用下面的代码跳回ClientActivity

我的问题是 - 当我在它的onResume()方法中触发选择查询时,ClientActivity它没有返回插入的实体。以下是代码:

令人惊讶的是,在下次启动应用程序时,它会显示插入的记录。我一无所知请指导我。

0 投票
5 回答
36261 浏览

android - 如何使用 Android Room Persistence Library 将 Column 注释为 NOT NULL

我的数据类看起来像这样

Room 使用 SQLite,SQLite 在其数据库中支持 NOT NULL 列。我尝试使用 @NonNull 注释列,但没有效果。

有没有办法使房间数据库中的列不能为空?

0 投票
8 回答
19787 浏览

java - 调用 Rooms inMemoryBuilder 方法时,Room Persistence Library 运行时异常

在遵循设置 Room 持久性库的教程时,我在 Android 设备上进行测试时遇到了这个错误。

java.lang.RuntimeException:找不到PackageName .AppDatabase 的实现。AppDatabase_Impl 不存在

我知道有人问过类似的问题,但是这些问题是由于 kotlin gradle 问题引起的。可能重复

测试类:

道:

数据库:

堆栈跟踪:

摇篮:

0 投票
7 回答
53068 浏览

android - LiveData.getValue() 使用 Room 返回 null

Java POJO 对象

我的查询方法

访问数据库

在下一行,我正在检查sections.getValue()哪个总是给我 null,尽管我在数据库中有数据,后来我得到了onChanged()方法中的值。

但是当我从查询中省略 LiveData 时,我得到了预期的数据。查询方法:

访问数据库:

0 投票
19 回答
66035 浏览

android - 查看使用 Room Persistence Library 创建的数据库的内容

有没有更简单的方法可以在 Android Studio 中查看使用 Room Persistence Library 创建的数据库的内容?