如果服务未激活,服务是否可以访问它

时间:2015-08-12 03:34:50

标签: android android-activity service background-process

我正在制作一个MP3播放器,我有ArrayList个需要更改和添加的歌曲,即使在播放器未处于活动状态或后台时也是如此。

我是否将这些ArrayList存储在Service中,以便在需要时更新它们,或者将它们存储在Activity中,以便用户界面可以更轻松地访问它们?我已经看过教程两种方式,所以我很困惑如何继续。

我认为如果Activity不可见或有效,则Service无法访问它们。因此,所有mp3列表都应存储在Service中,并将Activity绑定到Service,以便UI可以更新?

当应用在后台时,Service可以访问我的其他课程,对吗?

1 个答案:

答案 0 :(得分:1)

通常,您会执行服务中的所有后台操作。这意味着执行此操作或与此操作相关的所有数据/信息也由服务管理。 您的活动应仅用作查看或控制服务的可能性。

例如,在您的情况下,PlaylistActivity会向服务询问当前播放列表,并只显示它。 (仅限服务视图) PlayerActivity将播放当前歌曲,当前进度(例如以秒为单位)和播放状态(开始/停止)。此信息将显示在典型的播放器界面中。但它也会提供控制来启动或停止歌曲,跳转到下一首或上一首歌曲或者例如快进/快退。如果用户单击这些控件,则只会将其转发给该服务。 (服务的视图和控制)