如何在 android 中将 asynctask 代码更改为 rxandroid 代码?
Posted
技术标签:
【中文标题】如何在 android 中将 asynctask 代码更改为 rxandroid 代码?【英文标题】:How can I change asynctask code to rxandroid code in android? 【发布时间】:2020-12-21 08:25:05 【问题描述】:Asynctask 在 android 上不再可用 我在下面同时运行 asynctask 如何将下面的代码更改为 rxandroid?
for(int i=0;i<30;i++)
new AppTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,dbCable, data);
【问题讨论】:
您仍然可以在所有 Android 版本中使用 AsyncTask。它被弃用并不意味着它不起作用。 RXJava 需要一段时间来学习。不过,这是 AsyncTask 的一个不错的简单替代品:***.com/a/58767934/7434090 从Android 11开始,据说不能使用asynctask。如果我想更新到 Android 11,我应该用另一个替换 asynctask 吗?谢谢你的回答 【参考方案1】:Disposable subscription = Observable.fromCallable(new Callable() <your work> )
.subscribeOn(Schedulers.io())
.observeOn(AndroidScedulers.mainThread())
.subscribe( <success> , <error> );
稍后您需要在 onStop()
的某个地方致电 subscription.dispose()
或类似的方式,以免泄露某些内容。
Rx 是一种很酷的数据流处理机制。如果您仅将 Kotlin 协程用于后台线程工作,则应考虑使用它。您可以在此处了解有关 Rx 方法的更多信息:http://reactivex.io
【讨论】:
以上是关于如何在 android 中将 asynctask 代码更改为 rxandroid 代码?的主要内容,如果未能解决你的问题,请参考以下文章