gpt4 book ai didi

android - 无法使用 URI 序列化对象

转载 作者:行者123 更新时间:2023-12-02 13:28:29 25 4
gpt4 key购买 nike

我有这个类:

data class ProjectFile(val uri: Uri, val name: String)
我有另一个包含它的类并保存在 Room 数据库中。
@TypeConverters(Converters::class)
@Entity(tableName = "projects")
data class Project(
@PrimaryKey
@ColumnInfo(name = "id")
var id: String = "",
@ColumnInfo(name = "uid")
var uid: String? = "",
@ColumnInfo(name = "name")
var name: String = "",
@ColumnInfo(name = "businessId")
var businessId: String?,
@ColumnInfo(name = "image")
var image: String?,
@ColumnInfo(name = "tasks")
var tasks: List<Task> = ArrayList(),
@ColumnInfo(name = "managers")
var managers: List<Person> = listOf(),
@ColumnInfo(name = "files")
var files: List<ProjectsViewModel.ProjectFile> = listOf()
我不断收到这个错误:
java.lang.RuntimeException: 无法调用没有参数的私有(private) android.net.Uri()
它无法将对象“ProjectFile”转换为转换器文件中的字符串。
我能做些什么来解决它?
谢谢。

最佳答案

Uri 的构造函数类是私有(private)的,它是一个抽象类。它尝试为 Uri 创建一个新对象。使用 Reflection API 的类(我们不能为抽象类创建对象)。所以最好把uri对象的类型改成String而不是 Uri .

data class ProjectFile(val uri: String, val name: String)

关于android - 无法使用 URI 序列化对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62898000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com