반응형
- 반응형 프로그래밍
- 데이터를 관찰할 수 있고, 데이터 스트림으로 처리한다.
- ReactiveX
- 관찰 가능한(Observable) 스트림을 사용하는 비동기 프로그래밍을 위한 API이다.
- RxJava
- ReactiveX(Reactive Extensions)를 Java로 구현한 라이브러리
- RxAndroid
- RxJava에 안드로이드용 스케쥴러 등 몇 가지 클래스를 추가해 안드로이드 개발을 쉽게 해주는 라이브러리이다.
- RxKotlin
- RxJava에 Kotlin의 extension function을 이용하여 사용하기 편리하도록 만든 경량 라이브러리이다.
RX = Observable + Observers + Schedulers
- Observable: Observable은 데이터 스트림입니다. Observable은 하나의 스레드에서 다른 스레드로 전달할 데이터를 압축합니다. 주기적으로 또는 설정에 따라 생애주기동안 한 번만 데이터를 방출합니다. Observable은 데이터를 처리하고 다른 구성요소에 전달하는 역할을 한다고 생각하면 됩니다.
- Observers: Observers는 Observable에 의해 방출된 데이터 스트림을 소비합니다. Observers는 subscribeOn() 메서드를 사용해서 Observable을 구독하고 Observable이 방출하는 데이터를 수신할 수 있다.
- Schedulers: Schedulers 는 Observable과 Observers에게 그들이 실행되어야 할 스레드를 알려줍니다. observeOn() 메서드로 observers에게 관찰해야 할 스레드를 알려줄 수 있다. 또한, scheduleOn() 메서드로 observable이 실행해야 할 스레드를 알려줄 수 있다.
명령형 프로그래밍
public void imperativeProgramming() {
ArrayList<Integer> items = new ArrayList<>();
items.add(1);
items.add(2);
items.add(3);
items.add(4);
for (Integer item : items) {
if (item % 2 == 0) {
System.out.println(item);
}
}
items.add(5);
items.add(6);
items.add(7);
items.add(8);
}
결과>
2
4
반응형 프로그래밍
public void reactiveProgramming() {
PublishSubject<Integer> items = PublishSubject.create();
items.onNext(1);
items.onNext(2);
items.onNext(3);
items.onNext(4);
items.filter(item -> item % 2 == 0)
.subscribe(System.out::println);
items.onNext(5);
items.onNext(6);
items.onNext(7);
items.onNext(8);
}
결과>
6
8
728x90
반응형
'안드로이드 앱 개발 공부 > 안드로이드 기본(노션 이동)' 카테고리의 다른 글
[Android] Rest Api (0) | 2023.03.07 |
---|---|
[Android] LayoutInflater 란? (0) | 2023.03.07 |
[Android] Context (0) | 2023.03.07 |
[Android] Dialog, Toast, Snackbar (0) | 2023.03.06 |
[Android] ANR (0) | 2023.03.06 |
댓글