android发布/订阅模式

时间:2011-12-02 20:29:33

标签: android publish-subscribe

Android中是否有发布/订阅模式?

我想要实现的是我有这个课程可以通知感兴趣的一方事件。然后感兴趣的一方可以做任何需要的事情。

来自.net微软世界,这种东西都是内置的。

android有类似的东西,或者我必须写一些像观察者模式的东西吗?

5 个答案:

答案 0 :(得分:6)

我发现LocalBroadcastManager最适合app app-sub样式。 你总是可以使用观察者,但这个让生活变得更轻松:

https://developer.android.com/reference/android/support/v4/content/LocalBroadcastManager.html

编辑: 现在似乎有几种解决方案。他们肯定值得一提:

答案 1 :(得分:5)

看看BroadcastReceiver。我认为这就是你要找的东西。

答案 2 :(得分:3)

我认为您正在谈论在应用程序中的类之间传递事件/消息。所以这个问题可能归结为Java实现这种模式。

实际上没有任何内容(即没有event系统类),让类传播事件/消息的最常见方法之一是 Listener 技术(参见{ {3}},wikipediaVogel)。

也有框架,从IBM开始。

如果您担心Android中的线程/进程之间的异步消息,那么SO answerHandlers和(对于进程间)AsyncTasks

答案 3 :(得分:3)

我知道这有点旧,但它是“Android发布订阅”的顶级谷歌搜索结果。

Android的Local Broadcast Manager也是一种选择。它比全球广播意图有一些优势。

但它仍与意图紧密相连。

答案 4 :(得分:0)

我知道这是旧的,但我一直在使用GreenRobot的EventBus。到目前为止它很棒。比BroadcastReceivers和LocalBroadcastManagers更加松散地耦合到意图。请在此处查看:http://greenrobot.github.io/EventBus/