This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package com.mdaisuke.sample; | |
| import android.app.Activity; | |
| import android.os.Bundle; | |
| import android.text.Editable; | |
| import android.text.TextWatcher; | |
| import android.view.Menu; | |
| import android.view.MenuItem; | |
| import android.view.View; | |
| import android.widget.Button; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public static Observable<List<String>> paginatedThings(final Observable<Void> onNextObservable) { | |
| return Observable.create(new Observable.OnSubscribe<List<String>>() { | |
| @Override | |
| public void call(final Subscriber<? super List<String>> subscriber) { | |
| onNextObservable.subscribe(new Observer<Void>() { | |
| int latestPage = -1; | |
| @Override | |
| public void onCompleted() { | |
| subscriber.onCompleted(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import android.content.Context; | |
| import android.location.Criteria; | |
| import android.location.Location; | |
| import android.location.LocationListener; | |
| import android.location.LocationManager; | |
| import android.os.Bundle; | |
| import android.os.Looper; | |
| import rx.Observable; | |
| import rx.Subscriber; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package org.ymkm.utils; | |
| import rx.Observable; | |
| import rx.Subscriber; | |
| import rx.Subscription; | |
| import rx.android.schedulers.AndroidSchedulers; | |
| import rx.schedulers.Schedulers; | |
| public final class RxAsyncUtils { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public interface API { | |
| @GET("/user/{username}/dogs") | |
| Observable<Dog> getAllDogsOf(@Path("username") String username); | |
| @GET("/dog/{id}") | |
| Observable<Dog> getDogInfoById(@Path("id") int dogId); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // sample 2 asynchronous task | |
| Observable<String> jsonTask = Observable.create(new Observable.OnSubscribe<String>() { | |
| @Override | |
| public void call(Subscriber<? super String> subscriber) { | |
| subscriber.onNext(getJsonFromInternet()); | |
| subscriber.onCompleted(); | |
| } | |
| }).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()); | |
| // SUBCRIBE |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package com.donnfelker.rxexample; | |
| import android.os.Bundle; | |
| import android.support.v7.app.ActionBarActivity; | |
| import rx.Subscriber; | |
| import rx.Subscription; | |
| import rx.android.schedulers.AndroidSchedulers; | |
| import rx.schedulers.Schedulers; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @Singleton | |
| @Provides | |
| Observable<HeavyExternalLibrary> provideHeavyExternalLibraryObservable(final Provider<HeavyExternalLibrary> heavyExternalLibraryProvider) { | |
| return Observable.create(new Observable.OnSubscribe<HeavyExternalLibrary>() { | |
| @Override | |
| public void call(Subscriber<? super HeavyExternalLibrary> subscriber) { | |
| subscriber.onNext(heavyExternalLibraryProvider.get()); | |
| } | |
| }).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| makes a GET call through OkHttp | |
| return an Observable of type defined by clazz | |
| Usage: | |
| NetworkHelper.get(baseUrl, String.class).compose(applySchedulers()).subscribe(s->{ | |
| Do Awesome Things Here | |
| }) | |
| **/ | |
| public static <E> Observable<E> get(final String url, final Class<E> clazz) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Transforms an observable to run on a new thread | |
| * and to be observed on Androids main thread. | |
| */ | |
| public static <T> Observable.Transformer<T, T> androidAsync() { | |
| return new Observable.Transformer<T, T>() { | |
| @Override | |
| public Observable<T> call(Observable<T> observable) { | |
| return observable | |
| .subscribeOn(Schedulers.newThread()) |