D-D*_*D-D 8 android android-jetpack android-workmanager
如何从 Android WorkManager 更新 UI。
Android Workmanager可以接收Boolean、Integer、Long、Float、Double、String
文档说:
public Data.Builder putAll (Map<String, Object> values)
Run Code Online (Sandbox Code Playgroud)
“将所有输入键值对放入生成器中。有效类型包括:Boolean、Integer、Long、Float、Double、String 以及每种类型的数组版本。无效类型会引发 IllegalArgumentException。”
Result.SUCCESS 或 Result.FAILURE 不是解决方案,因为只有在工作完成时才会返回。
首先,WorkManager 是一个用于可延迟后台工作的 API。如果您希望应用程序在前台显示更新,则可能是错误的 API。WorkManager 文档涵盖了这一点。
其次,androidx.work.Data
文档说明:
这是一个轻量级容器,不应被视为您的数据存储。因此,
MAX_DATA_BYTES
有效负载的序列化(字节数组)大小受到强制限制。IllegalStateExceptions
如果您尝试序列化或反序列化超过此限制,此类将抛出异常。
由于 WorkManager 是 Android 架构组件的一部分,一个好的解决方案是使用 LiveData 在后台作业和(最终在前台)UI 之间传递状态更新。
步骤 8. 标记并显示工作状态,涵盖了这一点。
归档时间: |
|
查看次数: |
9548 次 |
最近记录: |