在 AsyncTask 中传递的 argument/value 类型

Type of argument/value that is passed in a AsyncTask

关于 AsyncTasks 的 3 个简单问题。 如果我们声明这个 AsyncTask:

private class DownloadFilesTask extends AsyncTask<URL, Integer, Long>

1- 传递给 doInBackground() 方法的值是什么类型?是URL吗?

2- 将什么类型的值传递给通知任务进度的回调?

3- 什么类型的值传递给任务结束时执行的回调?

谢谢大家。美好的一天休息

异步任务使用的三种类型如下:

  • Params,执行时发送给任务的参数类型。
  • Progress,后台计算时发布的进度单位类型。
  • Result,后台计算结果类型。

private class MyTask extends AsyncTask<Params, Progress, Result> { ... }

因此,为了回答您的问题,URL 被传递给 doInBackground 并且 Long 是 return 类型。

阅读更多

AsyncTask分别由输入参数类型、进度参数类型、结果类型组成。 所以在你的情况下

DownloadFilesTask extends AsyncTask<URL, Integer, Long>

URL 是输入参数类型

Integer是进度参数类型

Long 是结果类型

  1. 传递给 doInBackground() 方法的值是什么类型?是URL吗?

    回答:是的,它是 URL

  2. 什么类型的值传递给通知任务的回调 有进展吗?

    答案:其Integer

  3. 什么类型的值传递给回调时执行 任务结束?

    答案:它的 Long 值,它是预期的值 return 来自 doInBackground 并作为回调传递给 onPostExecute`.