Android/RxJava
-
RxKotlin과 RxAndroid 알아보기Android/RxJava 2019. 6. 18. 16:07
RxJava와 어떤 차이점이 있을까..? 뭣도 모르고 그냥 아 Rx니깐 같이 쓰겠구나~ 싶어서 사용하고 있었지만 그래도 뭐가 추가되었고 내가 쓰고 있는가? 싶어서 한번 알아보았다. RxKotlin 기본적으로 Kotlin의 Extension을 이용하여 좀더 편리한 Rx 사용을 권장하기 위해서 생긴 라이브러리 이며 RxJava 1.x와 RxJava 2.x를 모두 지원한다. 먼저 변경된 점은 github에서 보면 다 알 수 있고 여기서는 일부만 건들여 보도록 하겠다. 1. Observable 생성 Observable.fromArray(arrayOf(1, 2, 3, 4, 5)) arrayOf(1, 2, 3, 4, 5).toObservable() 바로 자료형 뒤에 toObservable을 하면 알아서 Observ..
-
ReactiveX와 Retrofit 같이 쓰기!Android/RxJava 2019. 6. 18. 15:24
Retofit의 Call 부분을 다시 되집어 보면 onFailure와 OnResponse가 있다 어디선가 많이 본 형식인데 맞다 ReactiveX와 비슷하게 생겼다! 즉슨! 그말은 RxJav와 Retrofit을 함께 쓸 수 있지 않을까..? 오늘은 두가지 방법으로 구현을 해볼 것이다 1. 직접 코딩 2. 라이브러리 사용 Gradle Dependency // reactive implementation 'io.reactivex.rxjava2:rxjava:2.2.6' // retrofit2 implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com.squareup.retrofit2:converter-gson:2.1.0' implemen..
-
ReactiveX - Schdulers 도대체 뭘 사용해야 할까?Android/RxJava 2019. 6. 18. 10:17
Rx에서 Observer와 Subscribe의 스케쥴 즉, 동작하는 Thread를 정해줄 수 있다. Android의 View을 건들이는 부분이면 AndroidSchedulers.mainThread()를 사용하면 된다지만 Observer는? 아무것도 지정해주지 않았을때는 뭐가 작동되는데? 이러한 궁금증이 생겨 포스팅을 시작한다. 먼저 RxJava2의 Schedulers을 디컴해보면 아래와 같이 나온다. static final Scheduler SINGLE; static final Scheduler COMPUTATION; static final Scheduler IO; static final Scheduler TRAMPOLINE; static final Scheduler NEW_THREAD; 총 5가지의 S..
-
ReactiveX가 뭐야? ( 기본편 - RxJava )Android/RxJava 2019. 6. 17. 09:53
Reactive가 뭘까? 네이버 사전적 의미로 reactive는 반응을 하다라는 뜻을 가지고 있다. Reactive를 알기위해서는 비동기와 이벤트 기반의 프로그래밍을 먼저 알아야 한다. 비/동기 기반 프로그래밍은 sync ( 동기 ) / async ( 비동기 ) 가 있는데, 동기적 일처리 방식은 순차적으로 일을 스스로 끝내 나가는 방식이고 비동기적 일처리 방식은 해야할 일을 위임하고 기다리는 방식이다. 아래 코드를 살펴보자 ( ※ 안드로이드 스튜디오에서 코틀린으로 작성하였습니다. ) [ Tip ] 아래와 같은 로그관련 확장함수를 만들었습니다. fun Any.log(tag: String) { Log.d(tag, this.toString()) } 동기(sync)적 [ 코드 ] fun sync() { 1.lo..