ile zamanlamayı kullanma Bazı nesneleri almak için bir RxAndroid observable
kullanıyorum (bu durumda String). Benim hizmet şuna benzer: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();
}
});
}
benim sunum abone ve görünüme sonucu yazı:
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
}
});
}
Bu ince ve tüm çalışır, ancak bu işlem periyodik olmak istiyorum (her x dakika). Bunu tekrar tekrar yapmak için Timer
veya ScheduledThreadPoolExecutor
kullanabilirdim, ancak RxAndroid alanında bir çözüm olup olmadığını görmek isterim. 2013'ten bazı eski çözümler buldum, ancak bu sırada birçok kod kullanımdan kaldırıldı. Bu bir tür tekrarlama kullanarak mümkün mü yoksa bunu daha zarif bir şekilde yapabilir miyim?
Şimdiden teşekkürler!
'getRandomString'' getString' ile aynı mıdır? – Blackbelt
Evet! Basitlik uğruna bazı isimler değiştirdim. –