gpt4 book ai didi

android - 从 Workmanager 更新 UI

转载 作者:行者123 更新时间:2023-11-29 16:35:50 25 4
gpt4 key购买 nike

如何从 Android WorkManager 更新 UI。

Android Workmanager 可以接收 Boolean, Integer, Long, Float, Double, String

文档说:

public Data.Builder putAll (Map<String, Object> values)

“将所有输入键值对放入生成器。有效类型为: bool 值、整数、长整型、浮点型、 double 、字符串和每种类型的数组版本。无效类型抛出 IllegalArgumentException。”

  1. 如何传递用于更新 UI 的回调。
  2. 如何在没有数据库调用的情况下传递 POJO。

Result.SUCCESS 或 Result.FAILURE 不是解决方案,因为只有在工作完成后才会返回。

最佳答案

首先,WorkManager 是一个用于可延迟后台工作的 API。如果您希望应用程序在前台显示更新,则可能是错误的 API。 WorkManager documentation covers this .

其次,androidx.work.Data documentation状态:

This is a lightweight container, and should not be considered your data store. As such, there is an enforced MAX_DATA_BYTES limit on the serialized (byte array) size of the payloads. This class will throw IllegalStateExceptions if you try to serialize or deserialize past this limit.

由于 WorkManager 是 Android 架构组件的一部分,一个好的解决方案是使用 LiveData 在后台作业和(最终在前台)UI 之间传递状态更新。

这显示在 WorkManager codelab.

Step 8. Tag and Display Work Status , 涵盖了这一点。

关于android - 从 Workmanager 更新 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52386924/

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