У меня возникла проблема с преобразованием процесса AsyncTask doInBackground в RxJava. Я хотел бы знать, как преобразовать это в Rx Java, поскольку ничто из того, что я пробовал, не работает.
new AsyncTask<Void, Void, Integer>() {
@Override
protected Integer doInBackground(Void... voids) {
return mDAO.getCount();
}
@Override
protected void onPostExecute(Integer count) {
if (count == 0)
mCount.setText("All Notifications");
else
mCount.setText("New Notificaiton "+count);
}
}.execute();
И я попробовал это для Rx
Observable<Integer> count = Observable.fromCallable(new Callable<Integer>() {
@Override
public Integer call() throws Exception {
return mDAO.getCount();
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
count.subscribe(new Observer<Integer>() {
@Override
public void onSubscribe(Disposable d) {
mDisposable.add(d);
}
@Override
public void onNext(Integer integer) {
if (integer == 0)
mCount.setText("All Notifications");
else
mCount.setText("New Notification "+count);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
Я получаю это вместо количества
Count io.reactivex.internal.operators.observable.ObservableObserveOn@5ccee5b
Как мне это решить? Спасибо.