我想基于Type字段更新Realm数据库,以下是我的Entity类中的Types字段(Timer&Alarm)。
假设,我以以下格式添加了“计时器和警报”(Alarm(1)-> Timer(2)-> Alarm(3)),然后在列表中删除了“ Alarms”。现在,当我尝试添加警报时,它总是在Timer(2)中更新,而不是创建新的。
能否请我建议如何根据“类型”字段更新领域,以下是我的代码。
添加到领域
警报片段,在计时器片段中,我将以下Type.Alarm.rawValue
参数更改为Type.Timer.rawValue
Manager.addAlarm(Type.Alarm.rawValue, edtAlarmName.text.toString(), 0, 0)
经理班
fun addAlarm(
type: Int,
repeatType: Int,
description: String,
interval: Int,
intervalType: Int,
expiryTime: LocalTime
): Entity {
val entity= Entity(
id = allocateID<Entity>(),
reminderType = type,
description = description,
interval = interval,
intervalType = intervalType
)
entity.save()
return entity
}
由于我只使用一个实体,所以对于(警报和计时器)这两种更新方法,我都有通用的方法。
香气
Manager.update(entity)
经理班
fun update(alarm: Entity): Boolean {
return tryCatch { alarm.createOrUpdate() }
}