android– 显示运行WorkManager工作程序的详细进度

android– 显示运行WorkManager工作程序的详细进度,第1张

概述我想用新的JetPackWorkManager(链接到codelabs)组件(在应用程序的沙箱分支中)替换现有数据同步系统的作业调度方面.我现有的系统运行良好,但WorkManager中的一些新功能会派上用场(例如链接).我当前的系统使用共享的LiveData将正在进行的作业的进度传达给观察它的任何UI元素(在我

我想用新的JetPack WorkManager(链接到codelabs)组件(在应用程序的沙箱分支中)替换现有数据同步系统的作业调度方面.我现有的系统运行良好,但WorkManager中的一些新功能会派上用场(例如链接).

我当前的系统使用共享的liveData将正在进行的作业的进度传达给观察它的任何UI元素(在我的情况下为RecyclerVIEw)(我实际上是将viewmodel中的SwitchMapPing转换为SyncItems列表)

data class SyncItem(        val Title: String,        private var _progress: Int,        var total: Int) : BaSEObservable() {    var progress: Int        @Bindable get() = _progress        set(value) {            _progress = value            notifyPropertyChanged(BR.progress)        }}

新的WorkManager组件有几个方法(getStatusByID,getStatusesByTag等),可用于检索具有一个或多个WorkStatuses的liveData,但这些方法仅报告课程粒度状态(运行,成功,失败,取消).

推荐进展的方式是什么(例如’546/1234项下载’)到用户界面? setoutputData / getoutputData对似乎更多地用于工作(链接时我需要)与UI之间的通信.

附件是当用户打开同步状态页面时(在2个项目已完成,正在进行中),它​​的外观截图(使用我的旧方法在我的应用程序的[测试]版本中).

在最终产品中,用户将能够取消正在进行的任何作业并重新发出一次性工作请求.通常,PeriodicWorkRequest将触发作业.

解决方法:

最好的方法是将中间进度写入您自己的数据存储并公开liveData<>.我们正在考虑在未来的Alpha中添加此功能.

总结

以上是内存溢出为你收集整理的android – 显示运行WorkManager工作程序的详细进度全部内容,希望文章能够帮你解决android – 显示运行WorkManager工作程序的详细进度所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1113861.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存