问题标签 [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 投票
6 回答
59082 浏览

android - Android Room:使用 Room 插入关系实体

我已经使用Relation在 Room 中添加了一对多关系。我参考这篇文章为 Room 中的关系编写了以下代码。

该帖子讲述了如何从数据库中读取值,但将实体存储到数据库中导致userId为空,这意味着这两个表之间没有关系。

我不确定在有价值的同时进入数据库的理想insert方式UserList of Pet什么userId

1) 用户实体:

2) 宠物实体:

3) UserWithPets POJO:

现在要从数据库中获取记录,我们使用以下命令DAO


编辑

我在问题跟踪器上创建了这个问题https://issuetracker.google.com/issues/62848977 。希望他们会为此做点什么。

0 投票
2 回答
1450 浏览

android - Room 和 Kotlin - 得到“查询中的每个绑定变量都必须有一个匹配的方法参数。”

我收到此错误:

当像这样尝试 Room 和 Kotlin 时:

但我正在传递和使用这个参数。任何人都知道问题是什么,或者可以指出我在 Kotlin 中使用 Room 的工作示例?

0 投票
7 回答
31432 浏览

android - 如何在首次运行时填充 Android Room 数据库表?

SQLiteOpenHelper一种onCreate(SQLiteDatabase ...)方法,我用来用一些初始数据填充数据库表。

有没有办法在第一次运行应用程序时将一些数据插入到 Room 数据库表中?

0 投票
5 回答
3941 浏览

android - 如何在 RoomDatabase 中存储枚举的 ArrayList

我的问题是如何存储

在 RoomDatabase 中,到目前为止我没有找到答案。

0 投票
3 回答
350 浏览

android - 当我尝试将 RxJava 2 与 Room 一起使用时,代码无法编译

我正在尝试将 RxJava 2 与 Room ORM 一起使用,但是当我尝试使用 RxJava 2 时,我的代码无法编译。 在此处输入图像描述

这是来自 Contacts Dao 的代码。

我该如何解决这个问题?

编辑:

当我更改为 subscribeWith 时,我收到此错误: 在此处输入图像描述

没有在此处输入图像描述DisposableSubscriber。

0 投票
5 回答
37617 浏览

android - Android Room 数据库事务

使用 Android 中的新房间数据库,我需要执行两个顺序操作:

如果我运行它,我会看到(在检查数据库时)缺少一些行 - 我假设它们在插入后被删除。即。第一个操作与第二个操作并行运行。

如果我使用这样的事务块,那么一切都很好 - 第一个操作似乎在执行第二个操作之前完成:

如果我在中间休息一下也可以:

Room 似乎没有太多文档,并且想知道当我要完成顺序操作时是否应该使用上述事务块,或者有没有更好的方法。

编辑:@CommonsWare 指出后,@Query是异步的,而@Insert@Delete是同步的。鉴于此,我将如何获得一个删除异步行的查询:

根据我得到的构建输出Deletion methods must either return void or return int (the number of deleted rows),如果我尝试将返回类型包装在Flowable.

0 投票
2 回答
17836 浏览

android - 如何在 Android Room 中存储对象?

基本上,有两件事我不明白:带有对象的对象和带有对象列表的对象

假设我从服务器收到一个对象列表。他们每个人看起来像这样:

将这两个对象作为字段:

它们比这更复杂,所以我不能像 Room 建议的那样使用 @TypeConverters:

如何将这个数据结构存储在 Room 中?

0 投票
2 回答
12674 浏览

android - Room - LiveData 观察者在数据库更新时不会触发

我试图在下面的代码中找出,为什么一旦我用新数据填充数据库,Room 的 LiveData observable 不会给我新的转变。

这是放在我活动的 onCreate 方法上的:

这是 populateAdapter 方法:

我还有以下填充数据库的代码(我使用 RxJava 在 IO 线程上完成工作,因为 Room 需要在主线程之外调用它的代码):

在我开始观察我的 shiftsViewModel 后调用persistShifts 时出现的问题。我希望我的观察者(LiveData)会被所有新添加的班次触发。事实证明,观察者被触发,但返回的是一个空的班次列表。使其“工作”的唯一方法是我离开活动(因此破坏当前的 ViewModel)并再次进入。这一次,viewModel 的 LiveData 为我提供了之前坚持的所有转变,正如预期的那样。

这是其余的代码:

道:

视图模型:

为什么我没有立即获得在 observe() 回调中坚持的班次列表?

0 投票
6 回答
11456 浏览

android - 带有 Android Room 的可重用通用基类 DAO

有什么方法可以使用 Android Room 创建可重用的通用基类 DAO?

在不必声明相同的接口成员并为每个子类编写查询的情况下,我无法想出任何方法来实现这一点。当处理大量类似的 DAO 时,这变得非常乏味......

0 投票
1 回答
363 浏览

kotlin - Android 房间不返回任何以 url 作为参数的内容

我正在尝试通过 Feed 的主键访问项目列表,就像这样。主键是一个 url。尝试像这样访问它会使我返回 null,而尝试加上:arg0引号会产生 compile time error error: Unused parameter: arg0。是否可以为此查询使用 url?

物品

喂养

所有者