我想将数据从活动传递到服务。目前我正在尝试使用ArrayList<HashMap<String, String>>
。我有什么选择将其传递给服务?我正在考虑将它作为额外的数据在意图,但我不知道如何做到这一点。或者是否有可能将此设置为某种全球?Android ArrayList <HashMap <String,String >>
目前它被设置为活动的静态,并且服务正在回调到要与ArrayList中的下一项一起提供的活动。我对这种工作方式并不满意,所以想将列表移到服务中。
编辑
在回答下面提出的问题:
我试图通过播放列表(是的,另一个媒体应用程序)的服务。播放列表ArrayList<HashMap<String, String>>
约束配对歌曲信息,如“歌曲标题”,“这是一个标题”。
但我认为我对应用程序的生命周期感到困惑。当用户点击播放时,该服务被创建。如果我使用静态列表,创建服务时会看到该列表。因此,该服务将乐意继续播放此列表中的歌曲。但是,如果用户更改文件夹等,我如何让应用程序识别播放列表中的更改?应用程序的设计方式是,用户可以随时清除列表中的曲目,也可以浏览到不同的文件夹。当歌曲完成时,应该加载新的列表。这样做的最好方法是什么?或者,我现在做的最好的方式是什么?当歌曲完成后,将广播发送回请求下一首曲目的主要活动。我应该在此时销毁服务并允许“下一首歌曲”功能重新创建吗?
生命周期混淆!
你试图传递给服务的是什么样的数据? hashmaps数组? – SemperFly
如果你实现了一个Parceable对象,你可以把它作为一个额外的intent-correct?你不能那样做? – smk
假设你已经完成了在服务到达时编辑数组列表,你是否尝试导入静态变量而不是简单地调用它? – mango