草庐IT

android - Room 无法验证数据完整性

我在使用RoomDatabase运行程序时遇到此错误Roomcannotverifythedataintegrity.Lookslikeyou'vechangedschemabutforgottoupdatetheversionnumber.Youcansimplyfixthisbyincreasingtheversionnumber.似乎我们需要更新数据库版本,但我们可以在Room中从哪里进行更新? 最佳答案 当您第一次看到此消息时,您很可能正在使用未发布的数据库版本。如果是这种情况,很可能您不应该增加数据库版本。只需清除应用数据

android - Android中的Realm VS Room

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭5年前。Improvethisquestion我正在构建一个应用程序,我需要在其中使用一个数据库。我正在考虑使用Room,因为它现在很新而且很热。但我也听说过很多关于Realm的好消息。有人可以指出使用每种方法的可能优势吗?我进行了研究并阅读了文档,但我自己没有理解它的经验RoomdocsRealmdocs编辑:已经有一段时间了,我可以指出另一个使用Room的原因。虽然您可以使用Realm和Transformations来与LiveD

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

我想将Room与预填充的数据库一起使用,但我不明白如何告诉Room在哪里可以找到我的数据库。我现在把它放在src/main/assets/databases中,当我为Room数据库创建实例时,我是这样创建的:Room.databaseBuilder(getApplicationContext(),AppDatabase.class,"justintrain.db").allowMainThreadQueries().build();这样,我认为它每次都在创建一个新数据库,或者无论如何,它没有使用预先填充的数据库。我怎样才能找到我的数据库? 最佳答案

kotlin - 测试 RxJava2 Flowable Query Room

我一直在尝试为我的Room数据库编写单元测试,过去当我有查询返回一个列表并创建一个允许主线程查询的数据库时,我已经这样做了,但现在我正在尝试用RxJava值测试我没有运气。这是我的DAO代码:@DaointerfaceAccountDAO{@Query("SELECT*FROMaccount")fungetAll():Flowable>@Insertfuninsert(accounts:List):List//...}这是我的数据库测试代码,我尝试了一些方法让它通过:@RunWith(AndroidJUnit4::class)classCCDatabaseTest{//...@JvmF

android - Kotlin:如何将对象列表插入到 Room 中?

我正在尝试定义常见的CRUD基接口(interface)中的方法,如下所示:interfaceBaseDao{@Insert(onConflict=OnConflictStrategy.REPLACE)funcreate(obj:I)@Insert(onConflict=OnConflictStrategy.REPLACE)funcreateAll(objects:List)@Deletefundelete(obj:I)}以下ProductDaoRoom的接口(interface)从基接口(interface)继承:@DaointerfaceProductDao:BaseDao{//S

android - 使用 Kotlin 协程时 Room dao 类出错

我正在尝试使用kotlin协程通过here描述的方法访问房间数据库,添加了插件和依赖,并在gradle中启用了kotlin协程。在gradle文件中:kotlin{experimental{coroutines'enable'}}dependencies{implementation"org.jetbrains.kotlinx:kotlinx-coroutines-core:0.21"...}所以我添加了suspenddao类中所有方法的关键字,如下所示:道类@Query("select*frommyevent")suspendfunall():List@Deletesuspendfu

java - 是否可以在 Android Room 中使用 String 作为 PrimaryKey

我在我的java后端服务器中使用uuid。所以我需要在房间android中使用该uuid来确保实体正确同步。我知道Isitpossibletoapplyprimarykeyonthetextfieldsinandroiddatabase和textasprimarykeyinandroid.我想创造这样的东西@Entity(tableName=CrewColumns.TABLE_NAME)@TypeConverters(BigDecimalConverter::class)@JsonIgnoreProperties(ignoreUnknown=true)classCrew(){const

android - 找不到类,使用 Android Studio 3.0.1、Room、Kotlin 的 androidTest 中的空测试套件

我在运行我的androidTest时遇到问题。这是我在gradle中的设置:applyplugin:'com.android.application'applyplugin:'kotlin-android'applyplugin:'kotlin-android-extensions'applyplugin:'kotlin-kapt'android{compileSdkVersion26defaultConfig{applicationId"com.blabla.shoppinglistapp"minSdkVersion17targetSdkVersion26versionCode1ve

android - Room 不能选择一个构造函数,因为多个构造函数是合适的错误

我尝试在我的androidkotlin项目中实现持久库,但在编译时发现此错误:error:Roomcannotpickaconstructorsincemultipleconstructorsaresuitable.Trytoannotateunwantedconstructorswith@Ignore.错误代码:@EntitydataclassSite(varname:String="",varurl:String="",@PrimaryKey(autoGenerate=true)varid:Long=0) 最佳答案 我有这个错误

android - 当列名相同时,如何表示与 Android Room 的 "many to many"关系?

如何表示与Room的“多对多”关系?我的列名也一样。例如我有Guest和Reservation。Reservation可以有多个Guest,并且一个Guest可以是多个Reservation的一部分。这是我的实体定义:@EntitydataclassReservation(@PrimaryKeyvalid:Long,valtable:String,valguests:List)@EntitydataclassGuest(@PrimaryKeyvalid:Long,valname:String,valemail:String)在查看文档时,我遇到了@Relation.不过我发现它真的很困