It works fine when getting the list from Room but when i try to update it it gives me this error:
android.database.sqlite.SQLiteException: near "?": syntax error (code 1 SQLITE_ERROR): , while compiling: UPDATE reminderconfig SET alarmDays = ?,?,?,?,?,?,? WHERE id = 1
Here is the query:
@TypeConverters(Converters::class)
@Query("UPDATE reminderconfig SET alarmDays = :days WHERE id = 1")
suspend fun updateAlarmDays(days: List<Int>)
Here is my Converters class:
class Converters {
@TypeConverter
fun fromString(value: String): List<Int> {
val type = object: TypeToken<List<Int>>() {}.type
return Gson().fromJson(value, type)
}
@TypeConverter
fun fromArrayList(list: List<Int>): String {
val type = object: TypeToken<List<Int>>() {}.type
return Gson().toJson(list, type)
}
}
And here is the Database:
@Database(entities = [ReminderConfig::class], version = 1, exportSchema = false)
@TypeConverters(Converters::class)
abstract class ReminderDatabase : RoomDatabase() {
abstract fun reminderDao(): ReminderDao
}
Entity class:
@Entity
class ReminderConfig(
@PrimaryKey
val id: Int = 1,
@ColumnInfo
val timeInterval: Int = DEFAULT_INTERVAL_REPEATING,
@ColumnInfo
val startTime: Int = DEFAULT_START_TIME_PERIOD,
@ColumnInfo
val endTime: Int = DEFAULT_END_TIME_PERIOD,
@ColumnInfo
val alarmDays: List<Int> = listOf(0,1,2,3,4,5)
)