android-room相关内容

使用现有布尔列类型进行房间迁移

到目前为止我发现了什么 所有@entity 注释的类都在编译时处理,并生成数据库类的实现.然后在访问数据库之前,调用这个生成的类的 validateMigration 方法.这个 validateMigration 方法通过原始查询与现有的数据库模式进行验证 PRAGMA table_info mytable 名称 (参见 android.arch.persistence.roo ..
发布时间:2021-11-27 20:56:21 Java开发

如何在android房间实体内注释默认值?

在查看 @ColumnInfo 新 Android 持久性库的文档. Room 甚至提供默认值的注释吗? 我目前的解决方案是手动创建相应的表... CREATE TABLE MyTable (...MyDefaultValuedCol TEXT DEFAULT '默认值',MyDefaultFlagCol INT 默认值 1) ...然后将 Room 放在最上面. @Entity ..
发布时间:2021-11-27 20:56:11 移动开发

如何在数据库房间保存枚举字段?

我必须将 enum 枚举中的值写入数据库.编译时发生错误.我做错了什么? 无法弄清楚如何将此字段保存到数据库中.可以考虑为它添加一个类型转换器. @ColumnInfo(name = "state_of_health")@TypeConverters(HealthConverter::class)var health:健康枚举类健康(val 值:Int){无(-1),非常坏(0),...} ..
发布时间:2021-11-27 20:55:52 移动开发

Firestore 作为离线持久化机制的可靠性如何?

我目前使用 Firebase Firestore 作为从各种来源检索数据的主要后端.我还使用 Android 的 Room 作为我的移动后端.当手机接收到数据时,它会存储在 Room 数据库中,以防用户数天甚至数周不再上网. 查看设备文件后,我看到 firestore 将数据保存在 /data/data//databases 目录下的文件中. 文件看起来像这样 我已阅读 Fire ..

Room - 架构导出目录未提供给注释处理器,因此我们无法导出架构

我正在使用 Android 数据库组件室 我已经配置了一切,但是当我编译时,Android Studio 给了我这个警告: 模式导出目录没有提供给注解处理器,所以我们无法导出架构.您可以提供room.schemaLocation 注释处理器参数或设置exportSchema 为 false. 据我所知,这是数据库文件所在的位置 它如何影响我的应用程序?这里的最佳做法是什么? ..
发布时间:2021-11-27 20:55:32 Java开发

房间:数据库未创建

我尝试使用谷歌架构中的房间图书馆.我根据谷歌的 BasicSample 编写了一些代码,但没有创建数据库(对于我的代码).Logcat 不包含错误和异常.请帮我找出我的错误: //App.java//...公共类应用程序扩展应用程序{私有 AppExecutors mAppExecutors;private static final String TAG =“应用程序";@覆盖公共无效 onCr ..
发布时间:2021-11-27 20:55:23 移动开发

如何在第一次运行时填充 Android Room 数据库表?

在 SQLiteOpenHelper 中有一个 onCreate(SQLiteDatabase ...) 方法,我用来用一些初始数据填充数据库表. 有没有办法先将一些数据插入到 Room 数据库表中应用运行? 解决方案 更新 您可以通过 3 种方式执行此操作:重要检查此迁移详细信息 1- 从导出的资产架构中填充您的数据库 Room.databaseBuilder(app ..
发布时间:2021-11-27 20:55:16 移动开发

Room 无法验证数据完整性

使用 Room Database 运行程序时出现此错误 Room 无法验证数据完整性.看起来您已更改架构但忘记更新版本号.您可以通过增加版本号来简单地解决此问题. 似乎我们需要更新数据库版本,但我们可以在 Room 中从哪里进行更新? 解决方案 Aniruddh Parihar 的回答给了我一个提示它解决了. 搜索您扩展了RoomDatabase 的类.在那里你会找到如下版本: ..
发布时间:2021-11-27 20:54:56 移动开发

更新android Room中实体的一些特定字段

我正在为我的新项目使用 android 房间持久性库.我想更新表的某些字段.我在我的 Dao - 中尝试过 //方法一:@Dao公共接口 TourDao {@更新int updateTour(Tour tour);} 但是当我尝试使用此方法进行更新时,它会更新实体中与游览对象的主键值相匹配的每个字段.我用过 @Query //方法二:@Query("UPDATE Tour SET endA ..
发布时间:2021-11-27 20:54:47 移动开发

Android 房间持久库 - TypeConverter error of error:无法弄清楚如何将字段保存到数据库"

由于错误,我无法在房间内创建 typeConverter.我似乎正在按照文档中的所有内容进行操作.我想将列表转换为 json 字符串.让我们看看我的实体: @Entity(tableName = TABLE_NAME)公共类 CountryModel {public static final String TABLE_NAME = "Countries";@首要的关键私人国际idCountry ..
发布时间:2021-11-27 20:54:30 移动开发

Android Room - 使用 LIKE 选择查询

我正在尝试进行查询以搜索名称包含文本的所有对象: @Query("SELECT * FROM hamster WHERE name LIKE %:arg0%")fun loadHamsters(search: String?): Flowable> 消息: 错误:在输入“SELECT * FROM hamster WHERE name LIKE %"处没有可行的替代方案错误:查询有问题:[S ..
发布时间:2021-11-27 20:54:01 移动开发

Android Room 数据库:如何处理实体中的 Arraylist?

我刚刚实现了离线数据保存的 Room.但是在实体类中,我收到以下错误: Error:(27, 30) error: 无法弄清楚如何将此字段保存到数据库中.您可以考虑为其添加类型转换器. 类如下: @Entity(tableName = "firstPageData")公共类 MainActivityData {@首要的关键私人字符串用户ID;@ColumnInfo(name = "item1 ..
发布时间:2021-11-27 20:53:39 Java开发

Android Room - 简单的选择查询 - 无法访问主线程上的数据库

我正在尝试使用 Room Persistence Library 的示例.我创建了一个实体: @Entity公共类代理{@首要的关键公共字符串指南;公共字符串名称;公共字符串电子邮件;公共字符串密码;公共字符串电话;公共字符串许可证;} 创建一个 DAO 类: @Dao公共接口 AgentDao {@Query("SELECT COUNT(*) FROM Agent where email ..
发布时间:2021-11-27 20:53:29 移动开发