Мне нужно выполнить несколько AsyncTask
с, а затем собрать все их результаты, объединить и затем вернуть окончательный результат моему пользователю.
Я ищу способ управления несколькими AsyncTask
в Android.Я думаю об использовании ExecutorService
из пакета Java Concurrency, но я застрял, потому что ExecutorService
принимает либо Runnables, либо Callables ТОЛЬКО.Чтобы установить мое требование, я могу использовать
ExecutorService.invokeAll((Collection<? extends Callable<T>> tasks)
. Метод invokeAll()
вернет список List<Future><V>>
только тогда, когда все отправленные задачи будут выполнены, и я смогу получить результаты длякаждая задача от соответствующей Future
.
Все хорошо с ExecutorService
ожидайте того факта, что она не принимает AsyncTask
.
Есть ли другой способ использования AsyncTask
и ExecutorService
или, если вы можете, пожалуйста, порекомендуйте другой подход.