什么是Uri最好的TypeConverter?

时间:2018-03-25 16:23:16

标签: android android-room

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

1 个答案:

答案 0 :(得分:2)

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

有两种方式:

  1. 您将处理UriString的转换,然后将其存储并同样用于获取。
  2. 让Room使用TypeConverter为您执行此操作。
  3. 选择方式完全是您的选择和应用程序要求。也就是说,这里是TypeConverter< - >的Uri 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()
        }
    }