-1

我的应用程序将在后台从公交 API 作为服务每 2 周更新一次公交路线列表,并将列表存储在 sharedpreferences 中。当用户第一次启动应用程序时,应用程序将在后台启动一个服务,该服务将下载 XML 数据,对其进行解析并将路由作为 ArrayList 存储在 sharedpreferences 文件中。

启动器活动是一个地图,但如果在第一次启动应用程序时,用户导航到“所有公交路线列表”活动,那么在解析 XML 时屏幕将是空白的。如果他们的数据连接速度很慢,那么它将保持空白一段时间。我想在服务完成时显示一个旋转加载器,然后在 UI 中显示列表,但我不确定如何将旋转加载器同步到后台服务。任何有关如何解决此问题的建议将不胜感激。

谢谢。

4

1 回答 1

0

我会使用广播意图进行通信。您可以ProgressBar在您的 UI 中设置默认隐藏的,但如果数据尚不存在,则显示它。您在巴士路线列表活动中注册 BroadcaseReceiever(并在适当的位置取消注册),您的服务可以在完成后发送广播意图。如果没有注册接收它,它就不会被处理。但是,如果您描述的情况发生,您会收到通知数据现已准备就绪。隐藏微调器,显示数据。

于 2016-03-30T00:43:00.230 回答