我目前正在研究更好的方式來處理我的應用程序中的事件。 目前我有多個正在訂閱和取消訂閱不同事件上的有趣對象的偵聽器。自定義事件總線與RxJava/RxAndroid的後備觀察員?
E.g.在一個按鈕上單擊一個偵聽器被創建,偵聽客戶端對象,操作是否成功(在這種情況下,它會自動註銷自己),或者是否發生非致命錯誤(在這種情況下會自動重試該操作)。
客戶端對象反過來啓動一個android服務,該服務可以發出不同的狀態事件,如果應用程序當前不可見,應該會導致用戶界面自行更新或者顯示通知。
在我的應用程序,我有一個非常大的聽衆混亂,這是不容易遵循,並沒有在所有場合工作。
要解決此問題,我想用RxJava實現一個事件總線,希望降低我的應用程序的複雜性。
問題:
是否有可能與RxJava有一個後備觀察員觀察到的一個,對事件做出反應,如果沒有其他觀察者可用?
E.g.所有活動/片段都會自行註冊以瞭解某些事件,以便他們可以根據需要更新UI。 當活動/片段被創建/銷燬時,它會自動向事件總線註冊/取消註冊。
如果應用程序現在在後臺,應該沒有觀察員註冊了。在這種情況下,我只想使用處理這些事件的後備觀察者。
我想實現以下功能:
如果在前景:On事件中,更新UI。
如果在後臺:在事件中,顯示吐司/通知。