相关疑难解决方法(0)

来自服务的Android更新活动UI

我有一个服务,一直在检查新的任务.如果有新任务,我想刷新活动UI以显示该信息.我确实找到了https://github.com/commonsguy/cw-andtutorials/tree/master/18-LocalService/这个例子.这是一个很好的approch?还有其他例子吗?

谢谢.

android

98
推荐指数
6
解决办法
10万
查看次数

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

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

我当前的系统使用共享LiveData来传递从正在进行的作业到任何UI元素(RecyclerView在我的情况下)观察它的进度(我实际上是将SwitchMapping ViewModel放入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)
        }
}
Run Code Online (Sandbox Code Playgroud)

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

推荐进展的方式是什么(例如'546/1234项下载')到用户界面?的setOutputData/ getOutputData对似乎是用来更之间通信Worker总比与UI(我链接时需要).

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

正在进行同步的屏幕截图

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

android android-jetpack android-workmanager

5
推荐指数
2
解决办法
1921
查看次数