android - 如何更新房间数据库中的数据?
问题描述
我正在尝试更新房间数据库中表的数据,但该项目没有更新。代码为实体:
@Entity(tableName = "modes")
public class Mode extends BaseObservable implements Serializable {
@PrimaryKey(autoGenerate = true)
public int id;
@ColumnInfo(name = "Mode_Name")
private String ModeName;
@ColumnInfo(name = "Mode_Brightness_ProgressBar")
private Integer ModeBrightnessProgressBar;
道:
@Query("UPDATE modes SET Mode_Brightness_ProgressBar = :brightnessProgress WHERE id = :id")
fun updateBrightness(id: Int, brightnessProgress: Int) {
}
视图模型:
fun updateBrightness(id: Int, brightness: Int) {
mRepository.updateBrightness(id, brightness)
}
存储库:
fun updateBrightness(id: Int, brightness: Int) {
UpdateCheckInAsyncTask(modeDao, id, brightness).execute()
}
private class UpdateCheckInAsyncTask internal constructor(
private val dao: DaoAccess,
Id: Int,
Brightness: Int
) :
AsyncTask<Void?, Void?, Void?>() {
private val mId: Int = Id
private val mbrightness: Int = Brightness
override fun doInBackground(vararg params: Void?): Void? {
val entity: Mode = dao.getMode(mId)
dao.updateBrightness(mId, mbrightness)
return null
}
}
分段:
GlobalScope.launch(Dispatchers.IO) {
activityViewModel.updateBrightness(id, currentBrightnessForMode)
}.invokeOnCompletion {
GlobalScope.launch(Dispatchers.Main)
{
Log.d("DB_CLIENT", "Data updated")
}
}
任何帮助都感激不尽。谢谢
解决方案
推荐阅读
- swift - 整数索引处的 Swift 5 拆分字符串
- apache-flink - PyFlink - Scala UDF - 如何在 Table API 中转换 Scala Map?
- reactjs - 有没有办法使用 vh 来 window.scrollY ?
- arrays - 为什么打字稿假定数组元素查找不会未定义?
- java - Android Room 数据库 @Insert 方法返回从 0 开始的行 id
- java - 损坏的 H2 数据库。使用恢复工具恢复失败
- javascript - 我如何选择一个以上的获胜者?
- docker - 本地时区(自定义时区)中的 Kubernetes Cronjob 计划,因为它始终是 UTC
- f# - 为什么 F# 在我的最后一行“disp”函数中发现错误?
- verilog - 为什么iverilog 会为always_ff 生成语法错误?