android - 处理程序中的异步任务?在 Row 中执行多个异步任务

标签 android android-asynctask android-handler

我在 Android 中遇到以下问题:

我需要处理行中的一些异步任务(例如Async-Task 1 -> Async-Task 2 -> Asyc-Task 3)。所有异步任务都通过处理程序 (sendMessage(xy)) 进行应答。

所以我的处理程序必须启动下一个异步任务。这是最佳实践吗?我应该选择其他方式吗?

总结:我正在寻找一种方法来连续处理许多异步任务......

我无法使用 asyncThread 的 get() 函数,因为它们仅在处理程序中返回答案。

抱歉我的英语不好..

最佳答案

有趣的是,其他两个答案都错过了您想要连续执行的事实......:)

我个人讨厌 AsyncTask,我宁愿在自己的线程中实现它,但这就是我。

您希望操作 A(一旦完成)调用操作 B(等等)...这意味着您实际上需要一个线程来执行 BL 操作序列。

这可以通过具有两个处理程序的对象轻松实现,一个是用于 BL 的新 ThreadHandler 的 Handler,另一个可能是用于 UI 更新的 UI 线程处理程序,一旦任务完成,它就会发布到 BL 处理程序上以开始下一个任务。

这会将流程封装为一个整体,并且错误将很容易跟踪。我已经使用多个服务器和 SMS 验证代码以及一些其他内容对登录流程进行了两次建模。

它还涵盖了一个场景,其中任务的成功或失败结果需要调用不同的任务。

关于android - 处理程序中的异步任务?在 Row 中执行多个异步任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15625363/

相关文章:

android - SharedPreferences setChecked 崩溃

android - 从 android for work 应用程序访问 SD 卡数据

Android ValueAnimator 不工作

java - 何时使用HandlerThread、何时设置new Looper

java - 在 Android 中处理多个 Runnables()

安卓定时器应用

android - RecyclerView 预测项目动画不起作用(出现)

Java 异步等待完成

java - 无法从 AsyncTask android 中的 onPostExecute 将值设置为字符串

android - 异步任务和处理程序 Android