• 로그인 함 해보끄나?

  • Sarangnamu.net June 17, 2003
    Home Login Profile Study Open Project Q&A Google Code
    rxjava2
    Last Modify : 07 August, 2017(04:45)
    https://github.com/ReactiveX/RxJava https://github.com/amitshekhariitbhu/RxJava2-Android-Samples https://medium.com/rainist-engineering/migrate-from-rxjava1-to-rxjava2-3aea3ff9051c https://github.com/MindorksOpenSource/android-mvp-architecture https://brunch.co.kr/@lonnie/17 map: 전달 받은 observable 를 새로운 형태의 observable 로 변경 (가령 a 클래스에서 b 클래스로 변경한다 던가) source 생성 Observable<Integer> src = Obserable.create(ssb -> { try { for (int i=0; i<5; ++i) { ssb -> onNext(i); } ssb.onCompleted(); } catch (Exception e) { ssb.onError(e); } }); 소스 구독 src.subscribe( i -> Log.d(TAG, "NEXT: " + i); e -> Log.e(TAG, "ERROR: " + e.getMessage()), () -> Log.d(TAG, "COMPLETED")); 결과 NEXT: 0 NEXT: 1 NEXT: 2 NEXT: 3 NEXT: 4 COMPLETED ==== 지연 생성 Observable<Integer> src = Obserable.create(() -> return Observable.just(0)); src.delaySubscription(1, TimeUnit.SECONDS).subscribe( i -> Log.d(TAG, "NEXT: " + i), e -> Log.e(TAG, "ERROR: " + e.getMessage()), () -> Log.d(TAG, "COMPLETED"); ); src 를 또 구독하면 앞서 생성된 코드와 별도로 생성 됨 즉 같은 데이터로 다른 시간을 주고 2번 호출할 수 있게 됨 src.delaySubscription(5, TimeUnit.SECONDS).subscribe( i -> Log.d(TAG, "NEXT: " + i), e -> Log.e(TAG, "ERROR: " + e.getMessage()), () -> Log.d(TAG, "COMPLETED") ); 이밖에 아래와 같은게 있음 Observable<Integer> src = Observable.fromCallable(() -> "Hello"); Observable<Integer> src = Observable.interval(1, TimeUnit.SECONDS); src.take(3).subscribe( i -> Log.d(TAG, "NEXT: " + i), e -> Log.e(TAG, "ERROR: " + e.getMessage()), () -> Log.d(TAG, "COMPLETED") ); Observable<Integer> src = Observable.range(1, 3); Observable<Integer> src = Observable.just(0).repeat(3); Observable<Integer> src = Observable.timer(3, TimeUnit.SECONDS); Observable<Integer> src = Observable.from(Lists.newArrayList(0, 1, 2, 3, 4); Observable<Integer> src = Observable.empty(); // 애는 complete 를 호출 함 0과 같다고 할까나 Observable<Integer> src = Observable.never(); // 애는 complete 를 호출 하지 않음 null 과 같다고 할까나 Observable<Integer> src = Observable.merge(); // 두개 이상의 Observable 를 합친다.

    Comment


    입력하3 1508772413



    Locations of visitors to this page