gpt4 book ai didi

java - 如何将此方法 AsyncTask 转换为 RxAndroid

转载 作者:行者123 更新时间:2023-12-02 00:37:43 25 4
gpt4 key购买 nike

我是 rxAndroid 新手。我将以下方法与 AsyncTask 一起使用,我想将其转换为 RXjava。

mytask = new AsyncTask<long[], Void, Void>() {
Void doInBackground(long[] ... longs) {
for (long user : longs[0]) {
if (isCancelled())
return null;
try {
call(user);
} catch {
//
}
return null;
}

@Override
protected void onProgressUpdate(Void... voids) {
adapter.removeItem(0);
}
void onPreExecute() {
adapter.setBlocked(true);
}
void onPostExecute(Void aVoid) {
onStop();
}

void onCancelled() {
onStop();
}

void onStop() {
adapter.setBlocked(false);
}
}
.execute(adapter.getRemoveList());
}

我需要帮助使用 RxAndroid 库将此 AsyncTask 转换为 RxJava。

最佳答案

Observable.just(input) // your input goes here
.map(input -> { //doInBackground with input goes here})
.subscribeOn(Schedulers.io())// take cares of doing task in background thread
.observeOn(AndroidSchedulers.mainThread())// make sures to deliver result on main thread
.doOnSubscribe(() -> {
// pre execute logic goes here
})
.subscribe(_ -> {
//post execute goes here
});

关于java - 如何将此方法 AsyncTask 转换为 RxAndroid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57962388/

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