Android中是否有发布/订阅模式?
我想要实现的是我有这个课程可以通知感兴趣的一方事件。然后感兴趣的一方可以做任何需要的事情。
来自.net微软世界,这种东西都是内置的。
android有类似的东西,或者我必须写一些像观察者模式的东西吗?
答案 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}},wikipedia,Vogel)。
也有框架,从IBM开始。
如果您担心Android中的线程/进程之间的异步消息,那么SO answer,Handlers和(对于进程间)AsyncTasks。
答案 3 :(得分:3)
答案 4 :(得分:0)
我知道这是旧的,但我一直在使用GreenRobot的EventBus。到目前为止它很棒。比BroadcastReceivers和LocalBroadcastManagers更加松散地耦合到意图。请在此处查看:http://greenrobot.github.io/EventBus/