contacto[arroba]digitallearning.es
Barra De Progresión

Ejemplo tareas en segundo plano en Android: Aplicación de descarga de ficheros (II)

Post Series: Tareas en segundo plano en Android

Seguimos mostrando la implementación de tareas en segundo plano en Android a través de un ejemplo práctico, una Aplicación donde descargamos ficheros, que empezamos a desarrollar en el anterior tutorial.

TareasSegundoPlano/src/com.academiaandroid.tareassegundoplano/TareaAsyncTask.java

Esta clase se encargará de mostrar en un componente ProgressDialog, la tarea de descarga y visionado de una imagen. Para ello esta clase debe heredar de la clase base AsyncTask, e implementar los métodos doInBackground(Params...)  (para la conexión y descarga de la imagen), OnPreExecute() (se crea un objeto ProgressDialog para mostrar un mensaje de que la tarea se está ejecutando) y onPostExecute(Result...) (encargado de procesar y mostrar la imagen descargada).

 

TareasSegundoPlano/res/layout/activity_main.xml

Como podemos comprobar en la imagen siguiente, se ha definido un TableLayout, con varios tableRow, encargados de mostrar de manera ordenada los diferentes componentes:

  • Se puede apreciar como el primer TextView definido (‘Sin tipo seleccionado’) se encargará de mostrar información sobre el botón seleccionado.
  • Los diferentes componentes de tipo Button permite lanzar una tarea o reiniciar/detener dicha tarea en segundo plano.
  • Además se puede apreciar el componente ProgressBar encargado de mostrar el progreso de la tarea, actualizando el porcentaje de progreso en el componente TextView (‘Sin Progreso’).
  • Una de las particularidades de esta aplicación, es definir un componente de tipo ImageView sin imagen asociada, para posteriormente mostrar en dicho lugar reservado la imagen descargada.

 

Tareas background1-img6

A continuación, se muestra el diseño de los componentes más representativos, encargados de mostrar información sobre las tareas ejecutadas en background. En este caso se muestran los componentes ProgressBar, TextView encargado de mostrar el porcentaje y el componente ImageView para mostrar la imagen descargada.

 

 

  • Permisos definidos en AndroidManifest.xml para la descarga de la imagen.

    <uses-permission android:name="android.permission.INTERNET"/>

  • Tarea en background con las Clases Thread y Handler

Barra de progresión

Barra progresión completada

  • Tarea en background con la Clase AsyncTask

Descarga con AsynTask

Descarga completada con clase AsynTask

Descarga del proyecto

Descargar

This Post Has 2 Comments

    1. Hola Iván,

      sí, disculpa, daba un error. Lo hemos vuelto a cargar y ahora ha ido bien.

      Saludos

Comments are closed.