【发布时间】:2020-12-17 12:35:13
【问题描述】:
下面这个函数
进入 dictWord 如果它存在,它会在 db 中将 amount 属性增加一次更新并从 uiscope 中返回 - 从函数中返回 当 getDictWord 返回 null 时,它会创建一个 newDictWord 并将其添加到数据库中并离开协程范围,然后是函数 没有?
因为我确实得到“android.database.sqlite.SQLiteConstraintException:唯一约束失败:DictWord.name(代码 1555 SQLITE_CONSTRAINT_PRIMARYKEY)” 时不时地从那开始
fun addOrIncreaseDictWordAmount(dictWord: String) {
uiScope.launch {
userDatabaseDao.getDictWord(dictWord)?.let {
it.amount += 1
userDatabaseDao.updateDictWord(it)
return@launch
}
// adds the strain to the AddNew dropDown list
val newDictWord = DictWord(name = dictWord)
userDatabaseDao.insertDictWord(newDictWord)
}
【问题讨论】:
标签: android database kotlin key let