39得票1回答
Android持久化Room:无法弄清如何从游标中读取此字段

我试图使用新的Android Persistence Room Library在两个数据库表之间创建关系。我查看了文档并尝试着实现在https://developer.android.com/reference/android/arch/persistence/room/Relation.ht...

39得票3回答
尝试重新打开已关闭的数据库的房间

使用 Android 架构组件中的 Room 在试图使用 Dagger 组件访问数据库时,我遇到了以下错误:java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase:...

39得票5回答
限制房间数据库中的行数

如何限制 Android Room 数据库的行数,通过删除最旧的一行并插入最新的行来实现? 我猜想这是在向数据库添加项目时使用的标准查询吗? 编辑:我希望将数据表限制为最多包含 20 行。如果达到该限制,则需要删除最旧的项目并插入最新的项目,从而保持当前行数为 20。

39得票19回答
在创建Room的通用DAO接口时,“参数类型必须是带@Entity注解的类”。

我正在使用Room架构组件进行持久化。我创建了通用的DAO接口来避免样板代码。 Room专业提示 但是我的代码无法编译,显示“错误:(21,19)错误:参数的类型必须是带注释@Entity的类或其集合/数组”,因为通用类T的问题。 interface BaseDao<T> { ...

37得票7回答
备份 Room 数据库

我正在尝试通过编程方式备份一个Room数据库。 为此,我只需复制包含整个数据库的.sqlite文件 但是,在复制之前,由于Room启用了写日志记录,我们必须关闭数据库,以便-shm文件和-wal文件合并为单个.sqlite文件。 如此处所指出的那样 我在RoomDatabase对象上运行...

37得票1回答
Android Room 异常

在使用Android Room时应该考虑哪些异常情况?从我的研究中发现,可能只会出现一种异常。 Room Exceptions 这种情况通常是当您将Single<T>作为返回类型并且没有返回任何内容时发生。除此之外,我找不到其他可能引发异常的情况。 当然,如果您有某些逻辑不正...

36得票2回答
Android架构组件:使用枚举类型

在使用新的Android Architecture Components和Room Persistence Library时,是否可以将枚举类型用作实体类中的嵌入字段? 我的实体类(包含嵌入的枚举):@Entity(tableName = "tasks") public class Task ...

36得票5回答
Android: 如何在Kotlin中使类型转换器(用于Room)适用于所有对象列表的通用性

我在我的项目中使用Room作为本地数据库解决方案。 对于每个特定对象类型的列表,我已经向项目添加了类型转换器,因此类型转换器看起来像这样: @TypeConverter fun convertListToString(video: List<VideoType>): String...

36得票6回答
如何在Android Room中完全重建数据库?

我有一个情况,希望能够使用 Android Room 进行数据库的硬重置。使用 SQLiteOpenHelper,我可以编写一个方法来删除所有表和索引,然后手动调用 SQLiteOpenHelper.onCreate()。 我知道可以通过 Room 获取 SupportSQLiteOpenH...

35得票7回答
Android Room:LiveData的update和insert回调?

我有一个包括CRUD函数的简单数据访问对象(Simple DAO)FeedEntryDAO.java @Dao public interface FeedEntryDAO { @Query("SELECT * FROM feedEntrys") LiveData<List&lt...