Inicio / Blog / Hilos en Android
Imagen de Daniel
Daniel M. Fernandez
Comp. Science Engineer
23 Ene 2017
Hilos
en Android

La clase AsyncTask en android.

Body: 

Introducción

En java el trabajo multihilo es un poco engorroso, de esta manera también pueden ser tratados en Android, pero para apartarnos de este trabajo oscuro de hilos en la aplicación, y llevarnos a un nivel mas alto de desarrollo, la plataforma Android nos trae la clase AsyncTask.

Desarrollo

La clase AsyncTask manejan las tareas asincrónicas en una aplicación android, específicamente dentro de las activity, es decir operaciones que correrán por hilos independientes. A continuación hablaremos un poco sobre dicha clase .

  1. private class MolancoAsyncTask extends AsyncTask<void, boolean=""> {
  2. ….
  3. }
  4. </void,>

 

Como trabajar con AsyncTask

El uso común de AsyncTask es como una herencia de clase privada dentro de una Activity de android, luego se sobrescribe uno de sus métodos donde incorporaremos el código o la acción que querremos que corra en segundo plano, y se vea reflejada de una forma u otra en la activity donde tenemos dicha clase privada. Luego se instancia la clase privada en la activity y se invoca el método execute().

Etapas de AsyncTask

onPreExceute() se invoca en la UI thread inmediatamente después que se manda a ejecutar la tarea.

doInBackground(Params…) Se invoca inmediatamente luego de que se ejecuta el onPreExceute(), como un subproceso en segundo plano.

onProgressUpdate(Progress…)Se invoca en el UI thread después de una llamada a publishProgress(Progress…).

onPostExecute(Result…). Se invoca en el UI thread después de que el proceso en segundo plano ha finalizado.

Cosas a tener en cuenta

1. En la activity solo debe de haber una única instancia de la AsyncTask. 

2. Los métodos que responden a etapas nunca deben ser llamados de forma manual. 

3. El método execute() debe de ser llamado desde la UI de la activity unicamente.

Conclusiones

Como conclusión resaltar que AsyncTask solo debe de ser utilizada desde una activity, y que es la mejor manera de crear tareas en segundo plano, puede ser utilizadas para la esquematización de algún proceso que demore o que se quiera ver como un flujo independiente, que no intervenga en un proceso dado dentro de la aplicación.