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

android - 升级数据库版本时,数据未与 Room Persistence Library 保持一致

当我将数据库从版本 1 升级到版本 2 并插入新数据时,存储在数据库版本 1 中的所有旧数据都被删除,我只能在数据库中看到新插入的数据。

知道如何在使用 Room Library 升级数据库时保留数据吗?

0 投票
3 回答
8741 浏览

android - Android Room 中的实体列表关系

我正在尝试加载实体子列表,但我想避免进行 2 次查询。

我正在考虑在 TypeConverter 中进行查询,但我真的不知道这是否是个好主意。

我的实体:

DAO:

数据库:

它不起作用,因为不能将内部类用作转换器类。

  • 这是一个好方法吗?
  • 当我这样做时,如何在区域实体中自动加载“语言环境列表” RoomRegionDao.selectAll
0 投票
4 回答
2416 浏览

android - 任务之间的 Gradle 依赖关系

因此,自从添加了新的 Room android 架构库后,这种情况就开始发生了。我遇到了 AppDatabase_Impl 不存在的问题,我通过将 kapt 添加到注释中来解决这个问题:

我有其他我怀疑是由于 AS、Kotlin 和 Java 8 引起的错误,所以我尝试更新到 AS 3.0

我现在在尝试构建时收到以下错误:

我的 gradle 文件看起来像:

项目等级

模块等级

应用程序分级

0 投票
2 回答
4952 浏览

android - Android 房间 - 在字符串中搜索

在 Android Rooms 持久性库中,我将如何将以下 SQL 语句编写为 @Query?

SELECT * FROM table WHERE field LIKE %:value%

此语法无效,我在文档中找不到任何有关它的信息。

0 投票
4 回答
26380 浏览

android - Android Room:按不工作排序

我正在使用新的 Android ORM Room。我遇到了以下问题,使用带有参数的 ORDER BY 的查询不起作用。

如果我想使用从 ORDER BY 的参数填充的字段,它不起作用。它只是不排序任何东西。

但是,当我将 ORDER BY 列直接放在查询中以对结果进行排序时,它会按预期工作。

这是 Android Room 上的错误,还是我做错了什么?

0 投票
1 回答
7043 浏览

android - 具有新线程和数据绑定问题的房间持久库

我正在研究 Android Room Persistent 库。我还在我的项目中实现了双向数据绑定。在项目中,我通过填写表单并按行显示所有用户并通过单击特定用户行来更新它们来插入用户。下面是我的 UserDao 类:

对于数据绑定,我在 UserFormActivity 中绑定用户模型

binding.setUserModel(userModel);

现在,由于 Room 持久库不允许您在主线程中执行任何数据库操作,为了更新用户,我通过单击新线程中的行来获取用户表单中特定用户的数据,如下所示:

在 userModel 中获取用户数据进行更新后,我希望用户数据反映在执行数据绑定的用户表单中,但它没有反映。我被这个问题困住了。

0 投票
12 回答
149880 浏览

android - 房间持久性库。删除所有

如何使用 Room Persistence Library 删除特定表上的所有条目?我需要删除表,但我找不到任何信息如何执行此操作。

仅当数据库正在迁移或加载所有条目并删除它们时:)

0 投票
1 回答
1475 浏览

android - 获取Android Room Persistence Library onUpgrade()的回调

使用 Room Persistence Library 升级数据库时如何获取回调?我提供了迁移类来在升级数据库时在表中添加/删除一些列。

0 投票
8 回答
27650 浏览

android - 如何将 Room Persistence Library 与预填充的数据库一起使用?

我想将 Room 与预先填充的数据库一起使用,但我不明白如何告诉 Room 在哪里可以找到我的数据库。

我现在把它放进去src/main/assets/databases,当我为 Room 数据库创建实例时,我是这样创建的:

这样,我认为它每次都在创建一个新数据库,或者无论如何,它没有使用预先填充的数据库。

我怎样才能找到我的数据库?

0 投票
1 回答
778 浏览

android - Room + RxJava2 无限循环案例

我正在使用带有 RxJava2 的新 Android 持久性库 Room。以下代码导致无限循环。如果我在第二个 observable 中注释掉更新用户的行,它就可以正常工作。如果我把它留在那里,第一个 observable 的 onNext 方法将被一次又一次地调用。

Room 是否在更新实体时重新查询表?如果是这样,为什么要在同一个流上再次发布消息?这是预期的行为吗?这是图书馆的错误吗?