如果活动处于非活动状态,服务是否可以访问该活动



我正在制作一个MP3播放器,我有ArrayList s的歌曲需要修改和添加,即使播放器不活动或在后台。

我是否将这些ArrayList存储在Service中,以便在需要时更新它们,或者我是否将它们存储在Activity中,以便UI可以更容易地访问它们?我看过两种方法的教程,所以我对如何继续感到困惑。

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

一个Service可以访问我的其他类,而应用程序是在后台,对吗?

一般来说,你在服务中完成所有的后台操作。这意味着执行此操作所需的或与此操作相关的所有数据/信息也由服务管理。你的活动应该只作为你的服务的视图或控制的可能性。

在您的例子中,PlaylistActivity将向服务询问当前播放列表,并将显示它。(仅为服务的视图)。
PlayerActivity将获得当前歌曲播放,当前进度(例如以秒为单位)和播放状态(开始/停止)。这些信息将显示在一个典型的玩家界面中。但它也提供了开始或停止歌曲的控制,跳转到下一首或上一首歌曲,例如快进/后退。如果用户单击这些控件,它将被简单地转发到服务。(服务的视图和控件)

最新更新