Раньше я работал с EventBus, который был прост в использовании и понятен. На этот раз, однако, я хотел бы попробовать RxJava для связи, подобной шине событий, однако не очень ясно, как удалить события из RxJava или, лучше сказать, как это должно быть правильно спроектировано, чтобы иметь поведение, подобное тому, что имеет EventBus. когда я позвоню removeStickyEvent
?
В RxJava я могу использовать BehaviorSubject для ответа последним, даже если я подписан на этот наблюдаемый объект, но что мне делать, когда это событие обрабатывается? Что делать, если я не хочу, чтобы это событие снова воспроизводилось?
Например, один фрагмент запускает событие, а затем завершает работу. Другой фрагмент прослушивает это событие и обрабатывает его. Затем, если это приложение снова запускает это «другое» действие из других обстоятельств, оно снова подпишется на тот же BehaviorSubject и снова обработает это устаревшее событие, чего мне бы не хотелось.
Я использовал этот проект в качестве ссылки https://github.com/marwinxxii/AndroidRxSamples/blob/master/app/src/main/java/com/github/marwinxxii/rxsamples/EventBusSampleActivity.java