NOVEDADES IMPORTANTES

Acceso a todos los contenidos

Hace unos meses decidimos suspender nuestra actividad de formación online en Digital Learning SL (propietaria de esta web).

Desde entones hemos mantenido operativos nuestra plataforma de teleformación y webs de contenidos Academia Android y Digital Learning, habilitando un acceso libre y gratuito a todos estos recursos, incluyendo cursos y contenidos Premium que antes requerían un registro y pago previo, lo que ha propiciado un volumen de visitas constante de usuarios que consultan esta formación.

Venta-traspaso de los contenidos

Creemos que estas webs por sus contenidos, posicionamiento SEO y atracción de tráfico (junto a sus cuentas en redes sociales asociadas, incluyendo Twitter y Facebook de nuestro curso de Community Manager) pueden ser una oportunidad para emprendedores o compañías de diversos ámbitos (formación, marketing y publicación online, desarrollo software,…) que quieran:

  • Captar usuarios, alumnos o clientes para sus proyectos, productos y servicios.
  • Comercializar los contenidos bajo múltiples fórmulas: venta de publicidad, modelos freemium o de pago, suscripciones…
  • Crear un nuevo proyecto a partir de esta infraestructura de recursos.

Si tú o tú empresa estáis interesados en adquirirlos, ofrecemos su traspaso en propiedad exclusiva. Puedes contactar conmigo en «contacto@digitallearning.es» (por favor entiende que los correos que no vengan suficientemente identificados no vamos a atenderlos). Gracias.

Manuel Cabello (Socio-Director de Digital Learning/Academia Android)

Este es el número de tutoriales publicados:

Pincha en los textos de los contadores de Tutoriales publicados, Premium o Series de tutoriales para tener un detalle de las publicaciones que comprenden.

Desde hace unos meses, todos los contenidos, incluidos los Premium, son accesibles libre y gratuitamente.

  • Premium
  • Acceso libre
130
Acceso libre
126
Premium

Algunos datos sobre los contenidos que hemos publicado hasta la fecha:

74
Videos
61
Proyectos descargables
contacto[arroba]digitallearning.es
Esquema Funcionamiento Ejecución Tareas Segundo Plano

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

Post Series: Tareas en segundo plano en Android

Para este ejercicio práctico, utilizaremos las clases Thread, Handler y AsyncTask para realizar tareas en segundo plano, como pueden ser ver el funcionamiento de una barra de progreso o la descarga de una imagen.

La estructura de la aplicación estará formada por una clase MainActivity que heredará de Activity, donde se definirán los elementos visuales y eventos encargados de realizar las diferentes llamadas, para ejecutar tareas en background.

En esta clase además se implementa e instancia las tareas con Thread y Handler. También definiremos una clase llamada TareaAsyncTask, que heredará de la clase AsyncTask, encargada de realizar tareas menos costosas (se encargará de mostrar un componente ProgressDialog para descargar una imagen).

Nota: Dividiremos esta aplicación en dos publicaciones. En la 2ª de ellas, podrás como siempre descargar todo el código de la aplicación.

Esquema funcionamiento Thread + Handler

En el siguiente esquema, se describen los pasos realizados para la ejecución de tareas en segundo plano con el uso de las clases Thread y Handler:

  1. Pulsamos el botón «Arrancar Hilo + Handler».
  2. Mostrará que tarea se está ejecutando.
  3. Mensaje emergente indicando que la tarea ha sido lanzada.
  4. El componente ProgressBar comienza a mostrar el progreso de ejecución.
  5. Al llegar al 100%, mostrará un mensaje emergente indicando que la tarea ha finalizado, habilitando el botón «Reiniciar Barra de Progreso».

Esquema funcionamiento ejecución tareas segundo plano

Esquema funcionamiento AsyncTask

En el siguiente esquema, se describen los pasos realizados para la ejecución de tareas en segundo plano con el uso de la clase AsyncTask:

  1. Pulsamos el botón «Arrancar AsyncTask».
  2. Mostrará que tarea se está ejecutando.
  3. Mensaje indicando que la tarea de descarga de archivo está en proceso.
  4. Se muestra la imagen descargada.
  5. Se habilita el botón «Detener AsyncTask», para detener la tarea y reiniciar el componente eliminando la imagen descargada.

Esquema funcionamiento AsyncTask

A nivel de Layout será necesario añadir los siguientes elementos:

  • Cuatro componentes de tipo Button encargados de lanzar o reiniciar/detener las tareas en segundo plano.
  • Dos componentes de tipo TextView para mostrar la tarea lanzada y el estado de progreso de la misma.
  • Además será necesario definir un componente de tipo ProgressBar para mostrar el progreso de la tarea lanzada, utilizando la clase Thread en conjunto con la clase Handler (esta última estará encargada de comunicar y refrescar la UIThread o hilo principal con los cambios).
  • Se definirá, de manera programática, un componente ProgressDialog, cuya misión será la de mostrar la tarea de descarga de una imagen, mediante el uso de la clase AsyncTask (será necesario establecer permisos de Internet en el AndroidManifest.xml).

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

  1. En primer lugar se enlazan los componentes con los recursos definidos a nivel de layout, dónde podemos destacar el uso del componente ProgressBar para mostrar una tarea en ejecución, y el componente ImageView, que inicialmente no mostrará ninguna imagen, para posteriormente mostrar la imagen descargada.
 

  1. Posteriormente se define el evento encargado de controlar si el botón de ‘Arrancar AsyncTask‘ ha sido pulsado, para llamar al método ‘ execute() ‘, cuya misión es la de lanzar la ejecución de la tarea, recibiendo como parámetro la URL de la imagen a descargar.

 

  1. Otra de las opciones implementadas es poder refrescar el componente TextView encargado de mostrar el porcentaje de la tarea lanzada, mediante el uso de la clase Handler.

 

  1. Por último se define el método runThread() , encargado de lanzar un nuevo hilo de ejecución (al pulsar sobre el botónArrancar Hilo + Handler‘), cuya función principal será recorrer las 100 posiciones establecidas en la barra de progreso, actualizando la información del porcentaje por cada ciclo del bucle ‘for‘ implementado.

 

 

Continuamos este proyecto en la siguiente publicación. donde podrás descargar todo el código del mismo.