Rxjava는 반응형 프로그래밍이다. 반응형이란 데이터가 변하면 알아서 캐치하여 결과로 반영된다. 따라서 데이터를 관찰할 수 있고 데이터를 스트림으로 처리한다.
dependencies {
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
implementation 'io.reactivex.rxjava3:rxjava:3.0.7'
}
Observer<Integer> observer = new Observer<Integer>() {
@Override
public void onCompleted() {
System.out.println("All data emitted.");
}
@Override
public void onError(Throwable e) {
System.out.println("Error received: " + e.getMessage());
}
@Override
public void onNext(Integer integer) {
System.out.println("New data received: " + integer);
}
};
Subscription subscription = observable
.subscribeOn(Schedulers.io()) // observable을 IO 스레드에서 실행
.observeOn(AndroidSchedulers.mainThread()) // Observer 메인 스레드에서 실행
.subscribe(observer); // observer 구독
subscription.unsubscribe(); // 구독 취소
참고 : https://soohyun6879.tistory.com/123
https://blog.yena.io/studynote/2020/10/11/Android-RxJava(1).html