RxJava RxJava로 안전하게 이벤트 통지를 실시하기 위한 RxRelay 이것은 의 7 일째 기사입니다. 의외로 캘린더가 스카스카 하고 있어 RxJava 자체의 지견은 상당히 소진되어 버린 것일까라는 느낌이군요. 이번에는 RxRelay라는 라이브러리를 소개하려고합니다. ※ RxJava에 대한 기초 지식은 있는 것을 전제로 한 기사입니다. 안드로이드 세계에서 하나님이라 불리는 Jake Wharton의 RxJava 용 라이브러리 Subject보다 안전한 Relay라는... RxJavaRxSwiftRxJS안드로이드Kotlin RxJava의 Observable과 LiveData와 ObservableField를 좋은 느낌으로 사용합시다. 구독 해제를 자동으로 해주기 때문에 편리 DataBinding (= ObservableField)로 사용할 수 없습니다 RxProperty<T> 는 기본적으로는 Observable<T> (라고 하는지 Subject<T> )입니다만, .value 프로퍼티로 ObservableField<T> 로 변환할 수 있습니다. 이와 같이 레이아웃 XML에, viewModel.user.value 라고 기술하... 안드로이드MVVMKotlinRxJava ReactiveX와 MVVM과 DataBinding의 관계를 그림으로 보았습니다. 등등을 여러가지 바라보고 있어 (도쿄 부러워), Reactive Extensions 라든지 MVVM 라든지 여러가지 뜨겁다! 재미! 라고 생각하고 있는 것입니다만, 여러가지 라이브러리가 있어, 그들이 커버하는 범위가 이제 확실하게 되어 있지 않은 생각이 들었으므로, 나름대로 정리해 보았습니다. MVVM 라고 하면, Messenger 라든지 DI 컨테이너적인 것일지도 모르지만, 주로 DataB... ReactiveExtensionsReactiveCocoaXamarinRxJavaMVVM [RxJava] Zip의 올바른 병렬처리 RxJava를 사용하면서 대부분 여러 개의 스트림을 동시에 호출하여 결과 값을 한 번에 처리하고 싶은 경우에 Zip이라는 Operator를 사용할 것이다. 하지만 Zip은 모든 스트림의 결과가 발행이 되었을 때 실행되지만, 모든 스트림이 동시에 호출되는가에 대해서는 생각해봐야 한다. 예상대로라면 동시에 호출이 되어 동시에 호출이 되어야 하지만, Log를 찍어보면 순차적으로 호출이 되고 있는 ... operator안드로이드RxJavazipschedulerandroidRxJava Java 확장 라이브러리 RxJava의 기본 구조와 적용 장면 소결 기본 구조 우리는 먼저 가장 기본적인 코드를 보고 이 코드가 RxJava에서 어떻게 실현되었는지 분석한다. 우선 Observable을 살펴보겠습니다.create 코드 직접적으로 Observable의 구조 함수를 호출하여 새로운 Observable 대상을 만들었습니다. 이 대상은 우리가 잠시 Observable1로 표시하여 뒤로 거슬러 올라갈 수 있도록 합니다. 또한 우리가 전송한 Onsubs... JavaRxJava Java의 RxJava 라이브러리 연산자 사용 방법 및 인스턴스 설명 Observable 대상에 여러 번 맵 조작부호를 사용하여 최종적으로 가장 간결한 데이터를 Subscriber 대상에 전달할 수 있습니다. 맵 조작부호를 사용하여 새로운 데이터 형식을 보내는observable 대상을 되돌릴 수 있다. 왜냐하면 위의 코드는 우리로 하여금 데이터 흐름을 변화시키는 능력을 상실하게 하기 때문이다.모든 URL을 변경하려면 Subscriber에서만 수행할 수 있습니다... RxJava [RxJava] DoOnSubscribe, doFinally로 조금 스마트하게 쓰세요. 이런 작법도 할 수 있다고 생각하기 때문에 필기와 동시에 투고한다 SamplePresenter.kt View에서 클릭한 이벤트가 오면 진도를 표시하고, 어떤 처리를 하고, 성공한 경우onSuccess나 오류가 발생한 경우onError가 각각 진도를 숨기는 경우가 흔하다. 여기서 신경 쓰이는 것은 view.hideProgress()의 처리가 두 곳에 있다는 것이다.만약 같은 처리가 있다면, 어... RxJava2AndroidKotlinRxJava [RxJava] RxJava란? Reactive Programming이란 데이터의 흐름과 전달에 관한 프로그래밍 패러다임이다. ReactiveX(Reactive Extentions)이란 이벤트 기반 비동기 프로그래밍을 위한 라이브러리이며 콜백 방식과 달리, 발생하는 이벤트를 이벤트 스트림에 전달하고, 이벤트 스트림을 관찰하다가 원하는 이벤트를 감지하면 이에 따른 동작을 수행하는 방식이다. RxJava란 넷플릭스에서 만든 R... RxJavaRxJava [RxJava] RxJava Cold vs Hot Observable 1. Observable 클래스를 명확하게 이해(특히 Hot Observable과 Cold Observable의 개념을 꼭 이해해야함) 즉, observable은 데이터의 흐름에 맞게 알림을 보내 Observer가 데이터를 사용할 수 있도록 한다. Observable에는 Cold Observable과 Hot Observable이 있다. ⭐자세하게 보기전에 간단하게 유튜브로 Hot Observ... androidRxJavaRxJava RxJava using에서 FileInputStream 을 안정적으로 닫습니다. File InputStream을 사용한 일련의 처리가 끝나거나 이상이 발생하여 처리가 중단되었을 때 등 RxJava를 사용하면서 믿음직스럽게close를 진행하고자 할 때 using을 사용하면 기분이 좋습니다. 이걸로 대출 모델을 시도해 보세요.... KotlinRxJava RxJava2.x Flowable를 사용하여 backpressure 제어 만약 짧은 시간 내에 대량의emit 흐름의 수신단에 대해 비교적 무거운 처리를 실행한다면, 처리는 넘쳐서 따라갈 수 없을 것이다.그때는 backpressure로 backpressure는 유량을 제어하는 메커니즘이다. , Observable=backpressure 없음, Flowable=backpressure 있음. 이 글에서 우리는 flowable를 사용하여 backpressure를 제어하려... KotlinAndroidRxJavaRxJava2Java Kotlin에서 Retrofit 및 Rx를 사용하여 API 클라이언트를 신속하게 구현 Retrofit은 API 클라이언트를 만드는 데 사용되는 라이브러리입니다. 인터페이스만 정의하면 제작할 수 있어 매우 가볍다. Retrofit는 RxJava를 사용하여 비동기 처리를 잘 쓸 수 있으며 HTTP 통신에서는 OkHttp를 사용하고 JSON의 퍼스에서 moshi를 사용하여 API 클라이언트를 실현할 수 있다. 실제로 어떻게 사용하는지 해보고 싶어요. Mac OSX Android S... RetrofitAndroidKotlinRxJava RxAndroid에서 SwipeRefreshLayout 사용 ListView를 사용할 때 흔히 볼 수 있는 동작은 아래로 당기고 업데이트하는 Pull to Refresh이고, Android는 Support Library에서 Swipe Refresh Layout을 제공합니다.이번에 나는 이것을 RxAndroid와 함께 썼다. 현재 Kotlin에 응용 프로그램을 쓰고 있기 때문에 샘플의 코드도 Kotlin입니다. 자바로 바꾸십시오. 사전 준비 참조 . R... AndroidKotlinRxJavaRxAndroid RxJava/RxAndroid의 비동기 테스트에서 "java.lang.Ex ceptionInitializaerError"가 발생했을 때... RxJava/RxAndroid의 비동기식 테스트를 쓸 때 "java.lang.Ex ceptionInitializerror"오류가 발생했습니다. 잘 썼다고 생각하는 부분.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())에서.AndroidSchedulers.mainThread() 안드로이드가 의존하는 반을 이용했기 때문... AndroidRxJavaRxAndroid [android] rxJava1→rxJava2 변경~unsubscribe에서 dispose로~ RxJavaActivity.java RxJava2Activity.java 다음은 게임 홍보m()m ○ 떨어진 것 모두 클릭... AndroidRxJava2RxJava RxJava(2.0) 구조를 이해하고자 하는 노트 나는 대개 어떤 구조가 좋은 일이 발생할 수 있는지 알고 싶다. 다음 3단계로 나뉘어진 것 같아요. 1. Observable 구축 단계→subscribe라고 부르기 전에 구축 구조를 준비한다 2.subscribe 단계→실제 실행하기 전에 각자 구독 다음 프로그램을 실행하면 "Hello, World"를 출력합니다. Single.cleate로 Single을 만들고 Scheduller가 실행 라인... AndroidRxJava2RxJava [Android] Retroffit2와 RxJava를 통해 WEB API의 통신 결과(JSON)를 받는 예 예를 들어 를 이용하여Qita의 를 얻는다. 본 투고의 집필 시간(2016.1.04)에 최신판을 도입한다. 'Gradle Retrolambda Plugin'은 이용 된 람다식(RxJava 사용 코드가 번거로워지지 않도록)이다.또한, Retrolambda를 가져올 때 개발 환경(OS X로 가정)에서 자바8(Oracle의 웹 사이트는 을 가져오십시오. 또 첨부된 OkHttp, Gson 등도 도입... RetrofitAndroidRxJava
RxJava로 안전하게 이벤트 통지를 실시하기 위한 RxRelay 이것은 의 7 일째 기사입니다. 의외로 캘린더가 스카스카 하고 있어 RxJava 자체의 지견은 상당히 소진되어 버린 것일까라는 느낌이군요. 이번에는 RxRelay라는 라이브러리를 소개하려고합니다. ※ RxJava에 대한 기초 지식은 있는 것을 전제로 한 기사입니다. 안드로이드 세계에서 하나님이라 불리는 Jake Wharton의 RxJava 용 라이브러리 Subject보다 안전한 Relay라는... RxJavaRxSwiftRxJS안드로이드Kotlin RxJava의 Observable과 LiveData와 ObservableField를 좋은 느낌으로 사용합시다. 구독 해제를 자동으로 해주기 때문에 편리 DataBinding (= ObservableField)로 사용할 수 없습니다 RxProperty<T> 는 기본적으로는 Observable<T> (라고 하는지 Subject<T> )입니다만, .value 프로퍼티로 ObservableField<T> 로 변환할 수 있습니다. 이와 같이 레이아웃 XML에, viewModel.user.value 라고 기술하... 안드로이드MVVMKotlinRxJava ReactiveX와 MVVM과 DataBinding의 관계를 그림으로 보았습니다. 등등을 여러가지 바라보고 있어 (도쿄 부러워), Reactive Extensions 라든지 MVVM 라든지 여러가지 뜨겁다! 재미! 라고 생각하고 있는 것입니다만, 여러가지 라이브러리가 있어, 그들이 커버하는 범위가 이제 확실하게 되어 있지 않은 생각이 들었으므로, 나름대로 정리해 보았습니다. MVVM 라고 하면, Messenger 라든지 DI 컨테이너적인 것일지도 모르지만, 주로 DataB... ReactiveExtensionsReactiveCocoaXamarinRxJavaMVVM [RxJava] Zip의 올바른 병렬처리 RxJava를 사용하면서 대부분 여러 개의 스트림을 동시에 호출하여 결과 값을 한 번에 처리하고 싶은 경우에 Zip이라는 Operator를 사용할 것이다. 하지만 Zip은 모든 스트림의 결과가 발행이 되었을 때 실행되지만, 모든 스트림이 동시에 호출되는가에 대해서는 생각해봐야 한다. 예상대로라면 동시에 호출이 되어 동시에 호출이 되어야 하지만, Log를 찍어보면 순차적으로 호출이 되고 있는 ... operator안드로이드RxJavazipschedulerandroidRxJava Java 확장 라이브러리 RxJava의 기본 구조와 적용 장면 소결 기본 구조 우리는 먼저 가장 기본적인 코드를 보고 이 코드가 RxJava에서 어떻게 실현되었는지 분석한다. 우선 Observable을 살펴보겠습니다.create 코드 직접적으로 Observable의 구조 함수를 호출하여 새로운 Observable 대상을 만들었습니다. 이 대상은 우리가 잠시 Observable1로 표시하여 뒤로 거슬러 올라갈 수 있도록 합니다. 또한 우리가 전송한 Onsubs... JavaRxJava Java의 RxJava 라이브러리 연산자 사용 방법 및 인스턴스 설명 Observable 대상에 여러 번 맵 조작부호를 사용하여 최종적으로 가장 간결한 데이터를 Subscriber 대상에 전달할 수 있습니다. 맵 조작부호를 사용하여 새로운 데이터 형식을 보내는observable 대상을 되돌릴 수 있다. 왜냐하면 위의 코드는 우리로 하여금 데이터 흐름을 변화시키는 능력을 상실하게 하기 때문이다.모든 URL을 변경하려면 Subscriber에서만 수행할 수 있습니다... RxJava [RxJava] DoOnSubscribe, doFinally로 조금 스마트하게 쓰세요. 이런 작법도 할 수 있다고 생각하기 때문에 필기와 동시에 투고한다 SamplePresenter.kt View에서 클릭한 이벤트가 오면 진도를 표시하고, 어떤 처리를 하고, 성공한 경우onSuccess나 오류가 발생한 경우onError가 각각 진도를 숨기는 경우가 흔하다. 여기서 신경 쓰이는 것은 view.hideProgress()의 처리가 두 곳에 있다는 것이다.만약 같은 처리가 있다면, 어... RxJava2AndroidKotlinRxJava [RxJava] RxJava란? Reactive Programming이란 데이터의 흐름과 전달에 관한 프로그래밍 패러다임이다. ReactiveX(Reactive Extentions)이란 이벤트 기반 비동기 프로그래밍을 위한 라이브러리이며 콜백 방식과 달리, 발생하는 이벤트를 이벤트 스트림에 전달하고, 이벤트 스트림을 관찰하다가 원하는 이벤트를 감지하면 이에 따른 동작을 수행하는 방식이다. RxJava란 넷플릭스에서 만든 R... RxJavaRxJava [RxJava] RxJava Cold vs Hot Observable 1. Observable 클래스를 명확하게 이해(특히 Hot Observable과 Cold Observable의 개념을 꼭 이해해야함) 즉, observable은 데이터의 흐름에 맞게 알림을 보내 Observer가 데이터를 사용할 수 있도록 한다. Observable에는 Cold Observable과 Hot Observable이 있다. ⭐자세하게 보기전에 간단하게 유튜브로 Hot Observ... androidRxJavaRxJava RxJava using에서 FileInputStream 을 안정적으로 닫습니다. File InputStream을 사용한 일련의 처리가 끝나거나 이상이 발생하여 처리가 중단되었을 때 등 RxJava를 사용하면서 믿음직스럽게close를 진행하고자 할 때 using을 사용하면 기분이 좋습니다. 이걸로 대출 모델을 시도해 보세요.... KotlinRxJava RxJava2.x Flowable를 사용하여 backpressure 제어 만약 짧은 시간 내에 대량의emit 흐름의 수신단에 대해 비교적 무거운 처리를 실행한다면, 처리는 넘쳐서 따라갈 수 없을 것이다.그때는 backpressure로 backpressure는 유량을 제어하는 메커니즘이다. , Observable=backpressure 없음, Flowable=backpressure 있음. 이 글에서 우리는 flowable를 사용하여 backpressure를 제어하려... KotlinAndroidRxJavaRxJava2Java Kotlin에서 Retrofit 및 Rx를 사용하여 API 클라이언트를 신속하게 구현 Retrofit은 API 클라이언트를 만드는 데 사용되는 라이브러리입니다. 인터페이스만 정의하면 제작할 수 있어 매우 가볍다. Retrofit는 RxJava를 사용하여 비동기 처리를 잘 쓸 수 있으며 HTTP 통신에서는 OkHttp를 사용하고 JSON의 퍼스에서 moshi를 사용하여 API 클라이언트를 실현할 수 있다. 실제로 어떻게 사용하는지 해보고 싶어요. Mac OSX Android S... RetrofitAndroidKotlinRxJava RxAndroid에서 SwipeRefreshLayout 사용 ListView를 사용할 때 흔히 볼 수 있는 동작은 아래로 당기고 업데이트하는 Pull to Refresh이고, Android는 Support Library에서 Swipe Refresh Layout을 제공합니다.이번에 나는 이것을 RxAndroid와 함께 썼다. 현재 Kotlin에 응용 프로그램을 쓰고 있기 때문에 샘플의 코드도 Kotlin입니다. 자바로 바꾸십시오. 사전 준비 참조 . R... AndroidKotlinRxJavaRxAndroid RxJava/RxAndroid의 비동기 테스트에서 "java.lang.Ex ceptionInitializaerError"가 발생했을 때... RxJava/RxAndroid의 비동기식 테스트를 쓸 때 "java.lang.Ex ceptionInitializerror"오류가 발생했습니다. 잘 썼다고 생각하는 부분.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())에서.AndroidSchedulers.mainThread() 안드로이드가 의존하는 반을 이용했기 때문... AndroidRxJavaRxAndroid [android] rxJava1→rxJava2 변경~unsubscribe에서 dispose로~ RxJavaActivity.java RxJava2Activity.java 다음은 게임 홍보m()m ○ 떨어진 것 모두 클릭... AndroidRxJava2RxJava RxJava(2.0) 구조를 이해하고자 하는 노트 나는 대개 어떤 구조가 좋은 일이 발생할 수 있는지 알고 싶다. 다음 3단계로 나뉘어진 것 같아요. 1. Observable 구축 단계→subscribe라고 부르기 전에 구축 구조를 준비한다 2.subscribe 단계→실제 실행하기 전에 각자 구독 다음 프로그램을 실행하면 "Hello, World"를 출력합니다. Single.cleate로 Single을 만들고 Scheduller가 실행 라인... AndroidRxJava2RxJava [Android] Retroffit2와 RxJava를 통해 WEB API의 통신 결과(JSON)를 받는 예 예를 들어 를 이용하여Qita의 를 얻는다. 본 투고의 집필 시간(2016.1.04)에 최신판을 도입한다. 'Gradle Retrolambda Plugin'은 이용 된 람다식(RxJava 사용 코드가 번거로워지지 않도록)이다.또한, Retrolambda를 가져올 때 개발 환경(OS X로 가정)에서 자바8(Oracle의 웹 사이트는 을 가져오십시오. 또 첨부된 OkHttp, Gson 등도 도입... RetrofitAndroidRxJava