如何从 Sync Adapters 通知应用程序 UI 线程?

How to notify the application UI thread from Sync Adapters?

背景:

我正在使用 Sync Adapters 将媒体文件上传到云端。

像 isSynced、mediaPath 等媒体元数据存储在 sqlite 数据库中。 我没有使用 Content Provider 来管理或访问来自 sqlite 数据库的数据。

我的应用程序能够在后台或应用程序关闭时同步数据。

在其中一个屏幕上,在我的应用程序中,我正在显示媒体同步。我将计数器显示为 当前正在同步的媒体/总媒体数

每个媒体需要 大约 2 到 3 秒 与云同步。

问题:

如何从另一个进程非常频繁地通知 UI/Screen。有 200 个媒体,所有媒体都按顺序上传。我需要在 UI.

上显示有多少文件等待同步的更新计数器

我也打算用 Room Persistence Library 替换 SQLiteOpenHelper

预期:

  1. 如何通知 UI 已在不同进程间同步(由于同步适配器)的已更新媒体尚待同步?

  2. 如果我用 Room Persistence Library 替换 SQLiteOpenHelper 那么如何获取相同的实例?

非常频繁地更新 UI 的优化代码或方法。

您是否尝试过借助 Bus(图书馆)发布活动?或者广播接收器?我认为这是要走的路。