33得票5回答
房间:来自Dao的LiveData会在每次更新时触发Observer.onChanged,即使LiveData的值没有更改。

我发现 Dao 返回的 LiveData 在数据库中的行被更新时会调用其观察者,即使 LiveData 的值明显没有发生变化。 考虑以下示例情况: 示例实体@Entity public class User { public long id; public String n...

33得票1回答
如何在 Kotlin 中创建和使用 Room 数据库 [Dagger-Hilt]

这是我原本想要问的自问自答问题,因为在我的项目中出现了一些 rep 曝光问题,但经过几个小时的研究后我解决了这个问题。我觉得不应该保持沉默,而是想着这可能会对未来的某个人有所帮助。本教程演示了如何创建 Room 数据库并在活动/片段中使用它。这里给出的示例用例是查询数据库的大小并更新片段中的视...

33得票1回答
Kotlin - 在多行查询中注入Android Room SQL语言

如何注入多行查询?Java类的Room可以实现,那么Kotlin是否支持呢? 例如这里有两个查询,但只有顶部的SQL查询(1行)被注入。 我尝试按照这篇指南中的步骤进行,但无法找到所需的设置。 这个问题提出了一个解决方案,但我不确定如何实施修复。

33得票8回答
房间错误:不确定如何处理插入方法的返回类型。

我不明白,我以为这是获取新插入行ID的方法。 DAO@Dao public interface AlarmDao { ..... @Insert(onConflict = OnConflictStrategy.REPLACE) long insertAll(Ala...

32得票8回答
Android中的Room无法验证数据完整性。

MainActivity类 public class MainActivity extends BaseActivity { private AppDatabase db; @Override protected void onCreate(Bundle sa...

32得票5回答
如何使用Android Room Persistence Library将列注释为NOT NULL

我的数据类看起来像这样@Entity(tableName = "items") data class Item( @ColumnInfo(name = "name") var name: String = "", @ColumnInfo(name = "room...

31得票2回答
房间 - 当数据库更新时,LiveData观察者不会触发

我正在尝试找出下面代码中,为什么Room的LiveData观察器在我使用新数据填充数据库后没有提供给我新的班次。 这段代码放在我的Activity的onCreate方法中:shiftsViewModel = ViewModelProviders.of(this).get(ShiftsView...

30得票5回答
Room + 找不到实现 DB + DB_Impl 不存在。

运行应用程序时,我遇到以下错误:java.lang.RuntimeException: cannot find implementation for com.abc.db.abdDB. abcDB_Impl does not exist 我的 build.gradle 文件有以下配置:impl...

30得票3回答
如何在使用Room持久化库时使复合主键自增的主键为自动增量?

我正在使用Room持久化库。我需要在一个表中添加两个主键,其中一个主键应该是自动递增的。我不知道实现这个的确切语法。下面是我的模型类:@Entity(tableName = "newsPapers", primaryKeys = {"news_paper_id","news_paper_na...

29得票5回答
错误:实体类必须使用@Entity进行注释。

我决定使用Kotlin和Room库,但实际上遇到了很多问题,阅读参考资料和寻找解决方案让我感到非常疲惫。我的数据类: @Entity data class HistorySong( @PrimaryKey var SongId: Int =0, ...