android发布/订阅模式

android发布/订阅模式,android,publish-subscribe,Android,Publish Subscribe,android中有发布/订阅模式吗 我想要实现的是,我有一个类可以通知相关方一个事件。然后,相关方可以做任何它需要的事情 来自微软的.net世界,这种东西是内置的 android是否有类似的功能,或者我必须编写一些类似于观察者模式的东西?看看。我认为这正是您所要寻找的。我认为您所说的是在应用程序中的类之间传递事件/消息。所以这个问题可能要归结到这种模式的Java实现 实际上没有任何东西(即没有eventsystem类),让类传播事件/消息的最常见方法之一是侦听器技术(请参阅) 从这个角度来看,也

android中有发布/订阅模式吗

我想要实现的是,我有一个类可以通知相关方一个事件。然后,相关方可以做任何它需要的事情

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


android是否有类似的功能,或者我必须编写一些类似于观察者模式的东西?

看看。我认为这正是您所要寻找的。

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

实际上没有任何东西(即没有
event
system类),让类传播事件/消息的最常见方法之一是侦听器技术(请参阅)

从这个角度来看,也有框架


如果您关心Android中线程/进程之间的异步消息,那么就有,和(对于进程间)。

我知道这有点旧,但它是“Android发布订阅”的谷歌最佳结果

Android也是一种选择。与全球广播意图相比,它有一些优势


尽管如此,它仍然与意图紧密耦合。

我发现LocalBroadcastManager最适合应用内发布子样式。 您可以随时使用观察者,但此观察者使生活更加轻松:

编辑: 现在似乎有两种解决方案。它们当然值得一提:

  • 如前所述


    • 我知道这很旧,但我一直在使用GreenRobot的EventBus。到目前为止还不错。比BroadcastReceivers和LocalBroadcastManager更松散地耦合到意图。请在这里查看:

      hmmm似乎与上下文和意图紧密耦合。我有一个普通类,它不知道上下文、意图等。例如,一个负责计数到100的类,当它计数到100时,它可以通知其他对该事件感兴趣的对象。在Android中,这通常是一个很好的方法。还请注意,您可以通过使用LocalBroadcastReciverThanks进行优化,他希望内置一些东西,而不是制作我自己的观察者模式。您可以尝试PServiceBus(),您只需要安装.Net ESB服务器并使用Java Client()连接到它。使用它,您可以在Java和任何.NET应用程序之间进行通信,甚至可以在Java和Javascript之间进行通信。为了获得更健壮的解决方案,我还推荐greenrobot提供的优秀EventBus库。