android-room相关内容

房间数据库:如何将列名检索到字符串列表中?

我有一个名为“addresses"的 Room 表,有 15 列.我检索一行并希望将值放入 List,而不是列表.这可能吗? @Query("SELECT * FROM 地址 WHERE myid= :id")列表getAddressAsList(int id); 此外,是否可以像这样将数据库表列名和值一起检索到映射列表中 ..
发布时间:2021-11-02 23:21:48 Informix

房间数据库查询

我是 Room 的新手,我正在尝试 query 我的 database 以获取 row从中.我尝试通过 querying 使用 primary key 这是 id 来这样做,但问题是我不知道如何返回目标 object来自 repository. 这是Dao @Query("SELECT * FROM 目标 WHERE id = :id LIMIT 1")目标 findTargetById( ..
发布时间:2021-11-02 23:21:44 Java开发

如何从资产预填充房间数据库?

我正在使用 SQLiteOpenHelper 类编写一个应用程序,并决定使用 Room 重新构建它以实现 MVVM 模式以获得一些额外的可用性.我的第一个问题是 Room 需要使用 .createFromAsset(“database/data_table.db") 从资产文件夹加载数据库文件.它应该将它复制到设备,然后所有进程从那里开始,但它不会按要求复制它,开发者网站没有指定更多的调用方式.这 ..
发布时间:2021-11-02 23:21:38 Java开发

如何对从 Paging 3 返回 PagingSource 的 Room Dao 查询进行单元测试

我的问题实际上很笼统.我想知道如何对 Room Dao 查询进行单元测试,该查询从 Paging 3 返回 PagingSource.> 我有一个房间 Dao 查询: @Query(“SELECT * FROM database")fun getChocolateListData(): PagingSource 我想知道如何对这个查询进行单元测试. 到目前为止我尝试过的(使用内存Ro ..

如何以干净的方式创建由 ForeignKey 与 RoomDB 相关的行和子项?

这个问题与我的最后一个问题有某种关系,因为它是同一个项目,但现在我正在尝试又向前迈进了一步. 所以,在我之前的问题中,我只有一张桌子;这次我有两个表:新的第二个表应该包含第一个表的行的相关属性,在 OneToMany 关系中.因此,我在第二个表中存储了一个外键,该表将存储第一个表相关行的行 ID(显然). 问题是这样的:目的是使用相同的形式同时创建两个寄存器(父和子),并且 Paren ..

从 LiveData(房间数据库)填充 Spinner

我在哪里 我正在尝试使用 Room 用数据库中的数据填充微调器.数据是一个术语列表,这些术语具有与之关联的课程. 我想在创建新课程时使用微调器,以选择要与之关联的术语. 目前,微调器不显示默认选项,但如果您单击微调器,它会显示可供选择的数据列表.从微调器中选择某些内容后,它不会显示您选择的内容. 这是我将数据加载到微调器适配器的代码: termsList = new A ..

ConcurrentModificationException Room Android

我在我的应用程序中使用 Room,在将数据插入我的数据库时,有时会抛出 ConcurrentModificationException.为什么会这样? 我使用分页 api,在每次 api 调用后,我使用 将 dataList 插入到我的数据库中 new Thread(new Runnable() {@覆盖公共无效运行(){appDatabase.dataDao().insertMulti ..
发布时间:2021-11-02 23:21:17 Java开发

如何在 Room 持久化库中捕获未处理的异常

背景: 我在我的 Android (Java) 项目中使用 Room 持久性库来支持本地数据缓存.Room 在查询或保存数据时在专用线程上运行. 问题: 如果在 Room 管理的这些线程之一中抛出异常,那么整个应用程序就会崩溃.这可能发生在数据不一致的情况下,例如数据与当前模式不匹配.这是非常成问题的.我宁愿自己处理此类异常并擦除本地数据库中的所有数据 - 这比让用户使用完全损坏 ..
发布时间:2021-11-02 23:21:10 Java开发

测试房间迁移,在assets文件夹中找不到schema文件[room-migration]

这个问题是在我决定将另一个实体添加到房间数据库之后出现的.架构正在预期的目录中导出.所有 build.gradle 设置都已完成并且似乎正在工作但没有.因为我得到了: java.io.FileNotFoundException:在资产文件夹中找不到架构文件.确保在测试断言输入中包含导出的 json 模式.有关详细信息,请参阅 https://developer.android.com/train ..
发布时间:2021-11-02 23:21:03 移动开发

使用 csv 文件填充 Room 数据库

我需要将 9000 个城市保存在数据库中,以便用户按城市进行搜索. 我的房间桌子是: @Entity公共类城市扩展模型{@首要的关键@非空私人字符串 id = UUID.randomUUID().toString();私人字符串名称;私有字符串状态;public City(@NonNull String id, String name, String state) {this.id = i ..
发布时间:2021-11-02 23:21:00 移动开发

如何在 Kotlin 中创建和使用房间数据库 [Dagger-Hilt]

这是一个自我回答的问题,因为我的项目中有代表曝光问题,所以我打算早些时候提出这个问题,但经过几个小时的研究最终解决了这个问题.与其保持沉默,我认为这可能会在未来对某人有所帮助.本教程演示了如何创建 Room 数据库并在活动/片段中使用它.此处给出的示例用例是查询数据库的大小并更新片段中的视图. 注意:下面的代码中有一些 Dagger-Hilt 依赖注入,但如果您手动执行自己的依赖注入,则应采 ..
发布时间:2021-11-02 23:20:56 移动开发

将 Android Room 数据库与 Firebase 实时数据库关联

我正在使用 Android Room Database 为我的 Android 应用创建数据库.它在本地非常适合我,但我无法链接到服务器以使其在线.我正在使用 Firebase 进行身份验证.我正在尝试使用 Firebase 实时数据库 从 Room 保存整个数据库对象,并根据经过身份验证的用户在应用启动时加载正确的数据库. 我想问一下这是否可能?如果我可以只保存 Room 数据库的整个实例 ..

执行 org.jetbrains.kotlin.gradle.internal.KaptExecution > 时发生故障java.lang.reflect.InvocationTargetException(无错误信息)

Android studio 报错: 任务“:app:kaptDebugKotlin"的执行失败.>执行 org.jetbrains.kotlin.gradle.internal.KaptExecution 时发生故障>java.lang.reflect.InvocationTargetException(无错误信息) 我想在我的项目中添加 Kotlin 协程并将其与 Room 数据库一起使用 ..
发布时间:2021-11-02 23:20:50 移动开发