Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Kotiln
- 이펙티브코틀린
- 안드로이드 클린아키텍쳐
- 안드로이드 컴포즈
- Go언어
- 코딩테스트
- 이펙티브 코틀린
- 안드로이드
- Swift 문법
- 알고리즘
- 프로그래머스
- Java
- 코틀린
- Kotlin
- 안드로이드 개발자
- Flutter
- Dev6
- 코루틴
- RxJava
- android compose
- 반응형 프로그래밍
- 잡담
- android
- Rxjava 안드로이드
- react
- 안드로이드 다이얼로그
- 개발자
- RxKotiln
- Firebase
- MVVM
Archives
- Today
- Total
최데브는 오늘도 프로그래밍을 한다.
RxJava - Observable과 Observer 의 차이 본문
둘다 자주 나오지만 이름도 비슷한게 정확한 차이점에 대해 궁금해졌다.
그래서 여기저기 찾아다니며 알아봤는데 차이점은 아래와 같다.
Observable은 int, String 등등 여러 형태의 데이터를 관찰할 수 있는 즉 Observer 가 사용할 수 있는 형태로 바꾸는 역할을 한다.
Observer 는 Observable 로 만들어진 데이터를 전달받고 그 데이터로 특정 행동을 취하는 역할을 한다.
아래 그림을 보면 더 이해하기 편하다.
Observable<String> observable = Observable
.just("test1", "test2")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
observable.subscribe(new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
Log.d(TAG, "onNext: " + s);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
Log.d(TAG, "onComplete: ");
}
});
위 코드를 실행해보면
onNext : test1
onNext : test2
onComplete :
라는 결과가 나오는걸 보고 우리는
Observable 이 String 형식으로 Observer 가 사용할 수 있도록 데이터를 가공하고 just 연산자로 데이터를 전달했구나!
라고 알 수 있다.
반응형
'Android > RxJava, RxKotlin' 카테고리의 다른 글
RxJava - subscribeOn, observeOn 를 제대로 쓰고 있는걸까? (0) | 2021.10.20 |
---|---|
RxJava - Hot Observable , Cold Observable (0) | 2021.10.20 |
RxJava를 Event Bus 처럼 쓰기 (0) | 2021.10.05 |
RxJava - Observable을 제외한 다른 생산자들 (0) | 2021.06.12 |
RxJava - 시작하기 (0) | 2021.06.12 |
RxJava , RxKotiln 이란? (0) | 2021.06.08 |
Comments