【问题标题】:Best java practice for retrying asynctask (android)重试异步任务的最佳java实践(android)
【发布时间】:2011-02-07 03:37:45
【问题描述】:

我有一个基础抽象类,我的所有异步任务都从该类扩展。我已经内置了网络错误的错误处理,我向用户显示一个对话框,告诉他们他们可以重试他们的请求(毕竟这是一个网络错误......)。

我在“重试”我的异步任务时遇到了一点问题,因为一旦它被执行,你就不能再次执行它。我怎么能这样做呢?我应该使用反射来实例化同一个类并重试吗?

以前有人处理过这个问题吗?

【问题讨论】:

  • 也许您可以发布当前错误处理的代码?

标签: java android android-asynctask


【解决方案1】:

这似乎是您需要的答案:

How to run a retry when download fails in AsyncTask

【讨论】:

  • 并没有真正帮助我,因为我不想为这些任务使用 IntentService 或 Service。我想避免绑定以获得结果或使用 ResultReceiver + IntentService。我很难重新实例化相同的异步任务并在其上调用 execute()。
【解决方案2】:

AsyncTasks 是一次性的,只能执行一次。如果尝试第二次执行,将引发异常。解决方法就是新建一个 AsyncTask 并执行。

【讨论】:

  • 是的,我知道,但是您将如何通过并为所有异步任务自动重新创建它。我希望隐藏此逻辑并在用户单击“重试”时自动为我发生,无论它是什么类型的任务。
猜你喜欢
  • 1970-01-01
  • 2018-03-06
  • 1970-01-01
  • 2010-10-09
  • 1970-01-01
  • 1970-01-01
  • 2011-08-12
  • 2013-02-02
  • 1970-01-01
相关资源
最近更新 更多