当前位置: 首页 > 知识库问答 >
问题:

无法用URI序列化对象

姜兴业
2023-03-14

我有这门课:

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:无法调用无参数的私有Android.Net.URI()

它无法在Converters文件中将对象“ProjectFile”转换为字符串。 我该怎么做才能修好它? 谢了。

共有1个答案

璩浩广
2023-03-14

URI类的构造函数是私有的,是一个抽象类。 它尝试使用反射APIURI类创建一个新对象(我们不能为抽象类创建对象)。 因此最好将uri对象的类型更改为string,而不是uri

data class ProjectFile(val uri: String, val name: String)
 类似资料:
  • (数据类)实体。JAVA (数据类)实体。JAVA 我试着说: 我犯了一个错误: 我已经把和我错过了什么?

  • 问题内容: 使用取消序列化对象时出现以下错误: JSONMappingException无法构造org.springframework.data.Page的实例,问题:抽象类型只能用其他类型信息实例化。 我正在尝试将JSON字符串序列化为表示类型页面的Spring数据对象T。 该User班是一个简单的与和名称。我要反序列化的字符串是: 这将导致异常: 由于是对象,因此无法修改它,我认为这与我在别处

  • 问题内容: 为什么下面的代码只适用于而不是简单的。 错误: 缺少什么以便它可以在没有“虚拟”的情况下工作? 问题答案: 在你回来-object有一个附加- object,这个对象不能腌制。 将需要对结果进行腌制(序列化)以将其发送回父进程,这在这里失败。由于使用线程而不是进程,因此不会出现酸洗,因为同一进程中的线程自然会共享其内存。 一个通用的解决方案是: 读出缓冲区并保存内容(如果需要) 从您要

  • 问题内容: 我有一个Java类,它是DynamoDB中表的数据模型。我想使用Dynamo 的to 和item。班上一名成员是一名。因此,我使用来对该字段进行序列化和反序列化。 该列表可以通过成功地序列化。但是,当我尝试取回条目并阅读列表时,它会引发异常:。好像将数据反序列化为而不是。我如何摆脱这个问题? MCVE: 问题答案: 问题的一部分是整个DynamoDB Mapper SDK如何处理泛型。

  • 问题内容: 我试图序列化和反序列化内部对象的数组列表: HairList对象也是一个可序列化的对象。 此代码执行返回以下错误: 排队 我不知道我在做什么错。你能给个小费吗? 更新: 解决: 仅使用HairBirt的本机数组而不是ArrayList即可工作: 代替 感谢大家的帮助。 问题答案: 不要使用-而是使用二进制数据并对它进行base64编码,以将其转换为字符串而不会丢失信息。 我强烈怀疑这是

  • 问题内容: 我从服务器收到以下错误响应。 HTTP状态500- 类型例外报告 信息 描述服务器遇到内部错误(),导致服务器无法满足此请求。 例外 javax.servlet.ServletException:java.lang.UnsupportedOperationException:尝试序列化java.lang.Class:org.hibernate.proxy.HibernateProxy。

  • 我从服务器得到以下错误响应。 HTTP状态500- 类型异常报告 来自Java调试器: 我正在使用Gson将我的Java对象转换为JSON。下面我粘贴了我的一些代码。 这是我的资源:

  • 我想将聊天应用程序与我的instagram类似的项目集成在一起。我的主要目标是为这个网站的用户提供实时聊天的可能性。我有以下代码,但我一直得到的错误: 这些观点。py: 路由。派克 项目根目录中的asgi.py: 我正在关注Django频道官方网站上的教程。我还试图定制我的消费者,将其保存在数据库中,其模型如下: 来自django。db从django导入模型。contrib。auth。模型导入用户