Тип аргумента / значения, которое передается в AsyncTask - PullRequest
0 голосов
/ 16 февраля 2020

Всего 3 простых вопроса об AsyncTasks. Если мы объявим этот AsyncTask:

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

1 - Какой тип значения передается в метод doInBackground ()? Это URL?

2- Какой тип значения передается в обратный вызов, который информирует о ходе выполнения задачи?

3- Какой тип значения передается в обратный вызов, который выполняется при выполнении задачи заканчивается?

Спасибо всем. Отдых хорошего дня

Ответы [ 2 ]

1 голос
/ 16 февраля 2020

AsyncTask состоит из Тип входного параметра, Тип параметра хода выполнения, Тип результата соответственно. Таким образом, в вашем случае

DownloadFilesTask extends AsyncTask<URL, Integer, Long>

URL - это тип входного параметра

Integer - это тип параметра прогресса

Long - это тип результата

  1. Какой тип значения передается в метод doInBackground ()? Это URL?

    Ответ: Да, это URL

  2. Какой тип значения передается обратному вызову, который информирует о ходе выполнения задачи?

    Ответ : его Integer

  3. Какой тип значения передается обратному вызову, который выполняется после завершения задачи?

    Ответ: Это значение Long, и это значение, которое, как ожидается, вернется из doInBackground и будет передано как обратный вызов onPostExecute`.

For Reference

1 голос
/ 16 февраля 2020

Асинхронная задача использует три типа:

  • Params, тип параметров, отправляемых в задачу при выполнении.
  • Progress, тип Единицы прогресса, опубликованные во время фонового вычисления.
  • Result, тип результата фонового вычисления.

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

Итак, чтобы ответить на ваш вопрос , URL передается doInBackground, а Long - тип возвращаемого значения.

Подробнее { ссылка }

...