Estoy tratando de conservar una marca de tiempo en la base de datos de mi habitación usando el siguiente TypeConverter :
class Converters { @TypeConverter fun fromTimestamp(value: Long?): Calendar? { if(value == null) return null val cal = GregorianCalendar() cal.timeInMillis = value return cal } @TypeConverter fun toTimestamp(timestamp: Calendar?): Long? { if(timestamp == null) return null return timestamp.timeInMillis } }Dos de mis Entidades incluyen la siguiente columna:
@ColumnInfo(name = "timestamp") val timestamp: Calendar?, Pero recibo un error de compilación al intentar compilar el proyecto; no tuve problemas al usar el ejemplo de Date TypeConverter de la guía de referencia para desarrolladores.
No puedo ver cuál es el error real, ya que solo obtengo un montón de errores de enlace de datos 'no se puede encontrar el símbolo' si hay algún problema con el código relacionado con Room.
Usar:
object Converters { @TypeConverter @JvmStatic fun fromTimestamp(value: Long?): Calendar? = value?.let { value -> GregorianCalendar().also { calendar -> calendar.timeInMillis = value } } @TypeConverter @JvmStatic fun toTimestamp(timestamp: Calendar?): Long? = timestamp?.timeInMillis }Y
@TypeConverters(Converters::class) abstract class AppDatabase : RoomDatabase() {