如何在Application组件之间传递数据

时间:2013-12-31 14:37:08

标签: android

我的场景

1)我知道如何在活动/服务等之间进行通信我正在开发android 4 +

2)我有一个listview,它会生成所有歌曲的列表(这是一个片段)

3)现在点击任何一首歌,整个列表(记住它,整个列表而不只是一首歌)都会被传递给新的活动。

4)新活动再次启动服务,将整个列表传递给服务以播放歌曲..

我需要的帮助

现在我想创建一些其他对话/活动等来显示现在正在播放的列表,可以由用户编辑。我的问题是我应该怎么做?我的意思是我应该在活动/对话中这样做/或其他一些东西,这些活动和服务之间的互动仍然很少?我如何有效地反映现在播放列表中发生的变化,以反映在服务中以及新活动 ?我已经创建了相同列表的这么多副本很多次我只是不知道如何避免再制作副本?

1 个答案:

答案 0 :(得分:3)

我建议您为歌曲列表创建model。并与Singleton合作。使用events \ controllers或直接从 Singleton 静态访问模型。如果您需要在很多地方传递相同的数据,那么将它存储在每个人都可以访问的公共位置会更好。

Singletone 是一个只在应用程序中构建一次的类,每个人都可以访问它。可能是这样的事情:

public class MySingletone{
     private MySingletone(){}
     public static final MySingletone instance = new MySingletone();

     public MyModel getListModel(){
         // return your model here
     }
}