gpt4 book ai didi

java - RXJava2中如何每15秒重复一次操作以及如何启动和停止它

转载 作者:行者123 更新时间:2023-12-02 11:03:56 25 4
gpt4 key购买 nike

我有一个线程进行 HTTP 操作,更新 UI,并每 20 秒重复一次。

我需要将此 java 线程转换为 RXJava2 (Android RX)。

当应用程序处于 sleep 模式(onPause)时无需运行它但是,当用户返回应用程序(onResume)时,可观察对象需要立即订阅并运行(发出数据),然后继续 20 秒的重复。

我成功地执行了重复操作并在 onPause 中取消了它,但我无法在 onResume 方法中再次执行订阅操作 - 它只是停止。

这是我的代码。谢谢。

 protected void onResume() {
super.onResume();
disposables = MainCulc_Observable()
.interval(0, 5, TimeUnit.SECONDS)
.subscribeOn(Schedulers.io()) // Run on a background thread
.observeOn(AndroidSchedulers.mainThread()) // Be notified on the main thread
.subscribeWith(MainCulc_Observer);
}

@Override
protected void onPause() {
super.onPause();

disposables.dispose();
}

DisposableObserver MainCulc_Observer = new DisposableObserver<Long>() {

@Override
public void onError(Throwable e) {
}

@Override
public void onComplete() {
}

@Override
public void onNext(Long status) {
}
};

最佳答案

您无法重复使用观察者。而不是

.subscribeWith(MainCulc_Observer);

.subscribeWith(new DisposableObserver<Long>() {

@Override
public void onError(Throwable e) {
}

@Override
public void onComplete() {
}

@Override
public void onNext(Long status) {
}
};)

关于java - RXJava2中如何每15秒重复一次操作以及如何启动和停止它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51125400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com