我目前正在Android中创建一个音乐播放器,我已经达到了一切运行良好的程度。对我而言,下一步是创建一项服务,即使用户已关闭活动,也允许音乐在后台播放。我已阅读有关服务的Android documents,并了解其背后的理论。然而,我不明白的是如何从服务中引用活动对象/变量。
据我了解,我将使用该活动简单地实例化所有视图,服务将提交MediaPlayer
对象,因此负责更新视图栏,歌曲名称,专辑封面等视图等等。
那么我该如何从我的服务中引用活动视图?
注意:我正在使用Android API 16及更高版本的应用程序。
答案 0 :(得分:4)
但我不明白的是如何从服务中引用活动对象/变量。
你没有。
我将使用该活动简单地实例化所有视图
正确。
该服务将提交MediaPlayer对象
正确。
因此负责更新搜索栏,歌曲名称,专辑封面等视图
不正确的。您的服务负责让您的用户界面知道 - 如果您有一个用户界面 - 关于回放状态的变化。该服务不直接更新UI,只是MySQL直接在Web浏览器中更新DOM。
我推荐消息总线模型,其中如果需要,服务发出UI组件(例如,活动)可以监听的消息,并且用于在相关时(例如,当在前台时)更新他们的UI。实现包括: