草庐IT

使用 RxJava 处理空查询结果的 Android Room

尝试使用RxJava适配器测试新的AndroidRoom库。如果我的查询从数据库返回0个对象,我想处理结果:所以这里是DAO方法:@Query("SELECT*FROMauth_info")fungetAuthInfo():Flowable以及我如何处理它:database.authDao().getAuthInfo().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).switchIfEmpty{Log.d(TAG,"ISEMPTY")}.firstOrError().subscribe({a

使用 RxJava 处理空查询结果的 Android Room

尝试使用RxJava适配器测试新的AndroidRoom库。如果我的查询从数据库返回0个对象,我想处理结果:所以这里是DAO方法:@Query("SELECT*FROMauth_info")fungetAuthInfo():Flowable以及我如何处理它:database.authDao().getAuthInfo().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).switchIfEmpty{Log.d(TAG,"ISEMPTY")}.firstOrError().subscribe({a

android - Room Persistence @Relation 在 Java 中工作,但在 Kotlin 中不工作

基于我之前的问题(AndroidPersistenceroom:"Cannotfigureouthowtoreadthisfieldfromacursor"),感谢反馈,我在Kolin中实现了相同的示例(请参见下面的代码)。我不得不做一些小的改动,比如现在传递给查询的参数,这些参数必须作为“p0”、“p1”等传递。现在在Kotlin中,我收到以下与UserWithPets类相关的错误:错误:无法确定如何从游标读取此字段。e:私有(private)java.util.List宠物;@DaointerfaceUserDAO{@get:Query("SELECT*FROMuser")vala

android - Room Persistence @Relation 在 Java 中工作,但在 Kotlin 中不工作

基于我之前的问题(AndroidPersistenceroom:"Cannotfigureouthowtoreadthisfieldfromacursor"),感谢反馈,我在Kolin中实现了相同的示例(请参见下面的代码)。我不得不做一些小的改动,比如现在传递给查询的参数,这些参数必须作为“p0”、“p1”等传递。现在在Kotlin中,我收到以下与UserWithPets类相关的错误:错误:无法确定如何从游标读取此字段。e:私有(private)java.util.List宠物;@DaointerfaceUserDAO{@get:Query("SELECT*FROMuser")vala

Android:如何使 Kotlin 中所有对象列表的类型转换器(用于 Room)通用

我在我的项目中使用Room作为本地数据库解决方案。对于某个对象类型的每个列表,我已将类型转换器添加到项目中,因此类型转换器看起来像这样:@TypeConverterfunconvertListToString(video:List):String{valvideoArray=arrayOfNulls(video.size)for(iin0..video.size-1){videoArray[i]=video[i]}varstr=""valgson=Gson()for(iinvideoArray.indices){valjsonString=gson.toJson(videoArray[

Android:如何使 Kotlin 中所有对象列表的类型转换器(用于 Room)通用

我在我的项目中使用Room作为本地数据库解决方案。对于某个对象类型的每个列表,我已将类型转换器添加到项目中,因此类型转换器看起来像这样:@TypeConverterfunconvertListToString(video:List):String{valvideoArray=arrayOfNulls(video.size)for(iin0..video.size-1){videoArray[i]=video[i]}varstr=""valgson=Gson()for(iinvideoArray.indices){valjsonString=gson.toJson(videoArray[

android - 为什么 Room 实体不适用于 Android 中的不可变属性

我一直在探索Room数据库对象映射库,我发现了一些奇怪的东西。实体数据模型不能具有不可变的属性,如this答案建议。但我查看了google'spersistentexamplewithkotlin,Room也适用于不可变属性。请查看this示例中的数据类。这种行为的原因可能是什么?如果我们可以创建不可变值(val属性),这可能是一个很好的功能,因为这会限制程序员在创建对象后更改唯一标识符,例如id。 最佳答案 这很奇怪,因为我可以使用val为我的所有字段创建我的实体类而不会出现问题@Entity(tableName="repo")d

android - 为什么 Room 实体不适用于 Android 中的不可变属性

我一直在探索Room数据库对象映射库,我发现了一些奇怪的东西。实体数据模型不能具有不可变的属性,如this答案建议。但我查看了google'spersistentexamplewithkotlin,Room也适用于不可变属性。请查看this示例中的数据类。这种行为的原因可能是什么?如果我们可以创建不可变值(val属性),这可能是一个很好的功能,因为这会限制程序员在创建对象后更改唯一标识符,例如id。 最佳答案 这很奇怪,因为我可以使用val为我的所有字段创建我的实体类而不会出现问题@Entity(tableName="repo")d

Kotlin - 在多行查询中注入(inject) Android Room SQL 语言

如何注入(inject)多行查询?它适用于带有Java类的Room,但Kotlin也支持吗?例如我这里有2个查询,只有最上面的SQL查询(1行)被注入(inject)。我尝试关注stepsinthisguide但找不到所需的设置。https://youtrack.jetbrains.com/issue/KT-13636存在问题这表明这是已修复的,但我不确定如何实现修复。 最佳答案 您可以使用原始字符串,它无论如何都更具可读性:@DaointerfaceItemDao{@Query("""SELECT*FROMItemWHEREIte

Kotlin - 在多行查询中注入(inject) Android Room SQL 语言

如何注入(inject)多行查询?它适用于带有Java类的Room,但Kotlin也支持吗?例如我这里有2个查询,只有最上面的SQL查询(1行)被注入(inject)。我尝试关注stepsinthisguide但找不到所需的设置。https://youtrack.jetbrains.com/issue/KT-13636存在问题这表明这是已修复的,但我不确定如何实现修复。 最佳答案 您可以使用原始字符串,它无论如何都更具可读性:@DaointerfaceItemDao{@Query("""SELECT*FROMItemWHEREIte