Necesito ejecutar un número de AsyncTask
sy luego reunir todos sus resultados, consolidar y luego devolver el resultado final a mi usuario.¿Cómo usar ExecutorService con Android AsyncTask?
Estoy buscando una manera de administrar múltiples AsyncTask
s en Android. Estoy pensando en usar un ExecutorService
del paquete Java Concurrency pero me quedé porque ExecutorService
toma Runnables o Callables SOLAMENTE. Para establecer mi requerimiento puedo usar el
ExecutorService.invokeAll((Collection<? extends Callable<T>> tasks)
invokeAll()
El método devolverá una lista de List<Future><V>>
sólo cuando se hayan completado todas las tareas presentadas y puedo conseguir mis resultados para cada tarea desde su correspondiente Future
.
Todo está bien con ExecutorService
espera por el hecho de que no acepta AsyncTask
.
¿Hay alguna otra manera de usar AsyncTask
y ExecutorService
o si puede por favor recomendar un enfoque diferente.
Lo bueno es que [AsyncTask] (http://developer.android.com/reference/android/os/AsyncTask.html) tiene el método executeOnExecutor(), lo malo es que solo está disponible desde el nivel 11 de API – yorkw
Cualquier referencia sobre cómo usar executeOnExecutor? Además, esta característica está disponible en HoneyComb (Nivel 11 de la API) pero el minSDK de mi aplicación es 4. – AKh
Si insistes, mira mi respuesta [aquí] (http://stackoverflow.com/questions/7211684/asynctask-executeonexecutor-antes- api-level-11/9509184 # 9509184). – yorkw