刚开始使用 Kotlin 流程。如果记录是唯一的,我基本上只想将一个项目插入房间数据库。我想我可能可以做到这一点,@Insert(onConflict = OnConflictStrategy.REPLACE)
但imageUrl
永远是独一无二的。我总是需要检查plateText。
到目前为止,我已经得到了这个,我正在寻找可以优化它的方法。
override fun flowSaveSomeStuff(plateText: String, imageUrl: String): Flow<Boolean> {
return db.infoDao().getItems().map { list ->
list.none { it.plate == plateText }
}.filter { it }.map {
db.infoDao().insertItems(
plateInfo(
plateText,
imageUrl
)
)
true
}
}
欢迎任何想法。