私はRxAndroid observable
を使用してオブジェクト(この場合はString)を取得しています。私は私のプレゼンターにサブスクライブし、ビューに結果を投稿RxAndroidでスケジューリングを使用する
public Observable<String> getRandomString() {
return Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
//code to retrieve result
subscriber.onNext("this is a string");
subscriber.onCompleted();
}
});
}
:
public void loadRandomString() {
Observable<String> observable = mService.getRandomString();
observable
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.newThread())
.subscribe(new Subscriber<String>() {
@Override
public void onCompleted() { }
@Override
public void onError(Throwable e) {
mMainView.onError(e.getLocalizedMessage());
}
@Override
public void onNext(String string) {
//do something with string
}
});
}
これは罰金と、すべての作品が、私はこの操作は、定期的になりたい(すべてのX私のサービスは、このようになります。分)。私はTimer
またはScheduledThreadPoolExecutor
これを何度も何度もやり直すことができますが、私はRxAndroidの領域内にいくつかの解決策があるかどうか確認したいと思います。 2013年から古いソリューションがいくつか見つかりましたが、この時点では多くのコードが廃止されました。これは何らかの再帰を使用して可能ですか、これをより洗練された方法で実現できますか?
ありがとうございます!
は 'getRandomString'は' getString'と同じですか? – Blackbelt
はい!私は簡単にするためにいくつかの名前を変更しました。 –