dependencies {
/**
* rxAndroid
* */
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
}
해당 라이브러리만 추가해주면 끝!
private final CompositeDisposable disposables = new CompositeDisposable();
@Override
public void initializeUI() {
disposables.add(sampleObservable()
// Run on a background thread
.subscribeOn(Schedulers.io())
// Be notified on the main thread
// .observeOn(AndroidSchedulers.mainThread())
// Be notified on the thread
.observeOn(Schedulers.newThread())
.subscribeWith(new DisposableObserver<String>() {
@Override
public void onComplete() {
LogUtil.d(LOG_TAG, "onComplete()");
}
@Override
public void onError(Throwable e) {
LogUtil.e(LOG_TAG, "onError()", e);
}
@Override
public void onNext(String string) {
LogUtil.d(LOG_TAG, "onNext(" + string + ")");
}
}));
}
@Override protected void onDestroy() {
super.onDestroy();
disposables.clear();
}
static Observable<String> sampleObservable() {
return Observable.defer(new Callable<ObservableSource<? extends String>>() {
@Override
public ObservableSource<? extends String> call() throws Exception {
// Do some long running operation
return Observable.just("one", "two", "three", "four", "five");
}
});
}
요청 순서대로 작업이 진행되며 onNext(object) 를 통해 작업을 처리할 수 있다.
해당 기술에 대해서는 천천히 추가하도록 하겠습니다.
to be continued!
Android Card View Animation (2) | 2017.11.09 |
---|---|
Jenkins CI(continuous integration) for Android (0) | 2017.09.13 |
모바일 웹 성능 관련 이슈 확인 및 검토 사항 (0) | 2017.05.22 |
갤럭시s8 , G6 리소스 대응! (2) | 2017.05.17 |
금액 형태 변환 코드 줄이기 (0) | 2017.05.16 |