RxJava
리μν°λΈ νλ‘κ·Έλλ° (Reactive Programming) μ λΉλκΈ° λ°μ΄ν° νλ¦ (Data Flow) μ κΈ°λ°μ λ νλ‘κ·Έλλ° ν¨λ¬λ€μ μ΄λ€.
μ΄ λ°μ΄ν°μ νλ¦μ λ§μΉ κ°κ³Ό κ°μμ μ΄λ₯Ό κ΄μ°°νκ±°λ νν°λ§ νκ±°λ λ€λ£°μ μμΌλ©° μλ‘μ΄ μ¬μ©μλ₯Ό μν μλ‘μ΄ νλ¦μ λ§λ€κΈ° μν΄ λ€λ₯Έ νλ¦κ³Ό λ³ν©ν μ μλ€.
Gradle νκ²½μμ μΈν νκΈ°
build.gradle
νμΌ λ΄μ νκΈ° μμ‘΄ μμ μΆκ°
dependencies {
...
compile 'io.reactivex.rxjava2:rxjava:2.2.0';
...
}
Observer Pattern
μ΅μ λ² ν¨ν΄μ κ°μ²΄μ μν λ³νλ₯Ό κ΄μ°°νλ κ΄μ°°μλ€, μ¦ μ΅μ λ²λ€μ λͺ©λ‘μ κ°μ²΄μ λ±λ‘νμ¬ μνλ³νκ° μμ λ λ§λ€ λ©μλ λ±μ ν΅ν΄ κ°μ²΄κ° μ§μ λͺ©λ‘μ κ° μ΅μ λ²μκ² ν΅μ§νλλ‘ νλ λμμΈ ν¨ν΄μ΄λ€.
λΆμ° νΈλ€λ§ μμ€ν
μ ꡬννλλ° μ¬μ©λλ©° λ°ν/ꡬλ
λͺ¨λΈλ‘ μλ €μ Έ μκΈ°λ νλ€.
ν¬κ² μλμ κ°μ΄ ꡬλΆλλ€.
- Observable : μ΄λ²€νΈλ₯Ό λ°μμν¨λ€.
- Subscriber : λ°μλ μ΄λ²€νΈλ₯Ό λ°μ μ²λ¦¬νλ€.
RxJava μμμ μ΄λ²€νΈμ λ°μ, μ’ λ£, μλ¬λ μλμ κ°μ΄ ννμ΄ λ©λλ€.
- onNext : μ΄λ²€νΈμ λ°μ
- onCompleted : μ΄λ²€νΈ μ’ λ£
- onError : μλ¬κ° λ°μ