如何在Android中将asynctask代码更改为rxandroid代码?

问题描述

Asynctask在Android上不再可用 我在下面的同一时间运行asynctask 如何将下面的代码更改为rxandroid?

for(int i=0;i<30;i++)
{
    new AppTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,dbCable,data);
}

解决方法

Disposable subscription = Observable.fromCallable(new Callable() { <your work> })
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidScedulers.mainThread())
    .subscribe({ <success> },{ <error> });

然后您需要在subscription.dispose()中的某个地方调用onStop()或类似的方式,以免泄漏某些东西。

Rx是一种很酷的数据流处理机制。如果仅将Kotlin协程用于后台线程工作,则应考虑使用它。您可以在此处了解有关Rx方法的更多信息:http://reactivex.io