Как использовать rxjava для передачи сообщений?

91
12 июля 2021, 00:20

У меня есть поток который принимает посылки по UART

Мне надо, чтобы все подписчики получали эти посылки, т.е. что-то типо:

observable.send("Посылка");

Может я ещё плохо разобрался, но очень странно, что rxjava отправляет сообщение только один раз, при создании нового класса, например:

Observable<String> observable = Observable.from(new String[]{"one", "two", "three"});

А как отправлять в него сообщения потом?

Answer 1

Чтобы получить объект, на который можно подписаться и в который можно слать сообщения вам нужно использовать Subject.

Пример:

PublishSubject<Integer> subject = PublishSubject.create();
subject.onNext(1);
subject.subscribe(System.out::println);
subject.onNext(2);
subject.onNext(3);
subject.onNext(4);

Также есть библиотека на его основе, дающая пару реализаций Subject-a, бывает полезной: RxRelay

READ ALSO
Пересоздаётся файл

Пересоздаётся файл

Только часть кода для смысла

85
Как можно обфусцировать C код через NDK?

Как можно обфусцировать C код через NDK?

Как можно обфусцировать Си код через ndk, или как вообще это сделать

88
StackOverflowError

StackOverflowError

данный код выдает вот такую ошибку:

109
Анимация фрагментов

Анимация фрагментов

начал работать с фрагментами, и возник такой вопрос: Есть ли в Android студии возможность анимировать переход между фрагментами, как Viewpager, но с другой...

83