2

我目前正在 Android 中创建一个音乐播放器,并且我已经达到了一切正常的地步。对我来说,下一步是创建一个服务,即使用户关闭了活动,音乐也可以在后台播放。我已阅读有关服务的Android 文档,并且了解它们背​​后的理论。然而,我不明白的是如何从服务中引用活动对象/变量。

据我了解,我将使用活动来简单地实例化所有视图,服务将处理MediaPlayer对象,从而负责更新诸如搜索栏、歌曲名称、专辑封面等视图。

那么我该如何从我的服务中引用活动视图呢?

注意:我正在使我的应用程序与 Android API 16 及更高版本一起使用。

4

1 回答 1

4

然而,我不明白的是如何从服务中引用活动对象/变量。

你没有。

我将使用活动来简单地实例化所有视图

正确的。

该服务将传递 MediaPlayer 对象

正确的。

并因此负责更新搜索栏、歌曲名称、专辑封面等视图。

不正确。您的服务负责让您的 UI(如果您甚至有 UI)知道播放中的状态更改。该服务不直接更新 UI,就像 MySQL 直接更新 Web 浏览器中的 DOM 一样。

我推荐一个消息总线模型,如果需要,服务会发送 UI 组件(例如,一个活动)可以侦听的消息,并在相关时(例如,在前台时)使用它来更新它们的 UI。其实现包括:

于 2013-06-09T11:29:26.017 回答