【问题标题】:What is best TypeConverter for Uri?Uri 的最佳 TypeConverter 是什么?
【发布时间】:2018-03-25 16:23:16
【问题描述】:

android.net.Uri 转换为可与RoomDatabase 一起使用的最佳方法是什么?

【问题讨论】:

  • 也许是 uri.toString()?

标签: android android-room


【解决方案1】:

使用 Room 存储和检索Uri 的最佳方式是以String 的形式持久化。此外,我们已经有了将Uri 转换为String 的API,反之亦然。

有两种方式:

  1. 您将处理 UriString 的转换,然后将其存储起来并用于获取。
  2. 让 Room 使用 TypeConverter 为您完成这项工作。

选择方式完全由您和应用程序要求决定。也就是说,这是TypeConverterUri String:

class UriConverters {
    @TypeConverter
    fun fromString(value: String?): Uri? {
        return if (value == null) null else Uri.parse(value)
    }

    @TypeConverter
    fun toString(uri: Uri?): String? {
        return uri?.toString()
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-21
    • 2011-06-28
    • 1970-01-01
    • 2012-07-08
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多