Как использовать Typeconverter в комнате Android - PullRequest
0 голосов
/ 12 октября 2019

Хорошо, это будет слишком для начинающих, но все же. Предположим, я создал класс Converters.kt как

 class Converters {
    @TypeConverter
    fun fromTimestamp(value: Long?): Date? {
        return value?.let { Date(it) }
    }

    @TypeConverter
    fun dateToTimestamp(date: Date?): Long? {
        return date?.time?.toLong()
    }
}

, а также добавил @TypeConverters(Converters::class) в свой класс базы данных.

Теперь что дальше. Как получить доступ к dateToTimestamp и fromTimestamp в моих кодах. Некоторое демонстрационное приложение будет полезно

1 Ответ

3 голосов
/ 12 октября 2019

Вы должны использовать этот конвертер в своем классе сущности, используя аннотацию @TypeConverters. После этого при запросе в этой комнате сущности (таблицы) автоматически будет использоваться dateToTimeStamp или fromTimeStamp для преобразования неизвестного типа данных в известный тип данных, т.е. когда вы сохраняете дату в дБ, она будет преобразована в Long с использованием dateToTimestamp, а когда вы запрашиваете дату, тоон будет преобразован в Date from Long с использованием fromTimestamp самой библиотекой комнаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...