Skip to content
Barra de progresión

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

Tareas en segundo plano en Android
1. Ejecución de tareas en segundo plano en Android
2. Thread, Handler y AsyncTask ¿cuál elegir?
3. Ejemplo tareas en segundo plano en Android: Aplicación de descarga de ficheros (I)
4. Ejemplo tareas en segundo plano en Android: Aplicación de descarga de ficheros (II)
5. Videotutorial: desarrollo aplicación Android con ejecución de tareas en 2º plano

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

Download

Esta entrada tiene 2 comentarios

  1. Buenos días,

    El fichero de descarga da error 403. ¿Podrían mirarlo?

    Gracias

    1. Hola Iván,

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

      Saludos

Los comentarios están cerrados.

Volver arriba
Esta web usa cookies para su correcto funcionamiento. No hay cookies de publicidad, aunque algunos de los contenidos mostrados (videos o documentos insertados) están alojados en servicios externos (Youtube, Vimeo, Box...) que sí pueden implementar sus propias cookies. También se ha incluido en pruebas un Agente AI que incluye sus propias cookies   
Privacidad