Android 使交流成为一个线程和一个活动

Android 使交流成为一个线程和一个活动,android,multithreading,events,android-activity,observer-pattern,Android,Multithreading,Events,Android Activity,Observer Pattern,我想知道是否有一种方法可以使通信成为线程和活动,关键是线程不必知道活动实例,而活动不必知道线程实例。线程使用UI必须收集的参数生成一些事件。一开始我考虑了Observer模式,但是您必须在addObserver方法中注册实例 将两个组件解耦的一种方法是让它们通过事件总线进行通信。如果活动和线程都获取同一总线的实例,那么一个组件可以向总线发布事件,而另一个组件可以注册以接收事件 是这个模式的一个很好的实现。关键是线程不必知道活动实例,活动也不必知道线程实例。为什么?因为UI与类VcAgent通信,

我想知道是否有一种方法可以使通信成为线程和活动,关键是线程不必知道活动实例,而活动不必知道线程实例。线程使用UI必须收集的参数生成一些事件。一开始我考虑了Observer模式,但是您必须在addObserver方法中注册实例

将两个组件解耦的一种方法是让它们通过事件总线进行通信。如果活动和线程都获取同一总线的实例,那么一个组件可以向总线发布事件,而另一个组件可以注册以接收事件


是这个模式的一个很好的实现。

关键是线程不必知道活动实例,活动也不必知道线程实例。
为什么?因为UI与类VcAgent通信,该类VcAgent提供了他需要的所有方法,如call、hang、ecc(这是一个voip应用程序)。此类在初始化时生成一个服务器线程以接收所有传入连接,而在连接到达时,该线程生成另一个线程以处理该连接。最后一个线程向UI发送了一些消息,更改当前布局或使其响铃。因此线程和UI之间的唯一联系点是VcAgent(即Singleton)。卓越!使用它的单身它的完美为我的情况!