我目前正在研究更好的方式来处理我的应用程序中的事件。 目前我有多个正在订阅和取消订阅不同事件上的有趣对象的侦听器。自定义事件总线与RxJava/RxAndroid的后备观察员?
E.g.在一个按钮上单击一个侦听器被创建,侦听客户端对象,操作是否成功(在这种情况下,它会自动注销自己),或者是否发生非致命错误(在这种情况下会自动重试该操作)。
客户端对象反过来启动一个android服务,该服务可以发出不同的状态事件,如果应用程序当前不可见,应该会导致用户界面自行更新或者显示通知。
在我的应用程序,我有一个非常大的听众混乱,这是不容易遵循,并没有在所有场合工作。
要解决此问题,我想用RxJava实现一个事件总线,希望降低我的应用程序的复杂性。
问题:
是否有可能与RxJava有一个后备观察员观察到的一个,对事件做出反应,如果没有其他观察者可用?
E.g.所有活动/片段都会自行注册以了解某些事件,以便他们可以根据需要更新UI。 当活动/片段被创建/销毁时,它会自动向事件总线注册/取消注册。
如果应用程序现在在后台,应该没有观察员注册了。在这种情况下,我只想使用处理这些事件的后备观察者。
我想实现以下功能:
如果在前景:On事件中,更新UI。
如果在后台:在事件中,显示吐司/通知。