gpt4 book ai didi

android-workmanager - 如何在没有序列化的情况下将对象作为输入传递给 WorkManager?

转载 作者:行者123 更新时间:2023-12-03 16:13:28 27 4
gpt4 key购买 nike

我需要将复杂对象传递给 WorkManager。或者我需要序列化包含 Livedata 和 Date 的对象。

它抛出 java.lang.IllegalArgumentException: KeycabinId2 has invalid type class com.example.sonyadmin.data.Task

     val data = workDataOf("cabinId2" to task)
val uploadWorkRequest = OneTimeWorkRequestBuilder<WManager>()
.setInputData(data)
.build()

最佳答案

工作经理的Data class 只接受某些特定类型作为值,如引用文档中所述:

A persistable set of key/value pairs which are used as inputs and outputs for ListenableWorkers. Keys are Strings, and values can be Strings, primitive types, or their array variants.



最重要的是,大小限制约为 10KB,由常量 MAX_DATA_BYTES 指定。 .
如果数据不是太大,您可能希望将其序列化为 String 并将其用作 WorkRequest 中的 inputData。另一种方法是将对象的引用放在 inputData 中。 WorkManager's codelab有一个这样的示例,其中图像的 URI 被传递到 WorkRequest 并且图像位于文件系统上。

关于android-workmanager - 如何在没有序列化的情况下将对象作为输入传递给 WorkManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55876824/

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