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

Thread, Handler y AsyncTask ¿cuál elegir?

Post Series: Tareas en segundo plano en Android

Continuamos hablando sobre las clases AsyncTask, Handler y Thread que nos permiten gestionar la ejecución de tareas en segundo plano en Android, abordando los dos siguientes objetivos que marcamos en el tutorial inicial:

  • Cuáles son sus principales características.
  • Cuándo se recomienda el uso de AsyncTask y cuando el uso de Threads.

Principales características de las clases Thread, Handler y AsyncTask

Thread

  • Ejecución de tareas en paralelo o de manera concurrente.
  • Los hilos de ejecución comparten el espacio de memoria.
  • El conjunto de hilos en ejecución que comparten los mismos recursos es conocido como un proceso.
  • Cualquier modificación de un dato en memoria, por parte de un hilo, permite el acceso al dato modificado para el resto de hilos de manera inmediata.
  • Cada hilo presenta de manera propia el contador de programa, la pila de ejecución y el estado de la CPU.
  • Un proceso seguirá en ejecución si al menos uno de sus hilos de ejecución sigue activo. Si un proceso finaliza, todos sus hilos de ejecución también lo harán.

Handler

  • Permiten poner en cola una acción que se realiza en un subproceso distinto al suyo.
  • Cada instancia de la clase Handler está asociada a un sólo hilo y a la cola de mensajes de este.
  • Comunicación del hilo secundario con el hilo principal o UIThread a través de un controlador.
  • Proporciona varios métodos para poner en cola un mensaje en la parte delantera o enviar al final de la cola después de un determinado tiempo ( sendMessageAtFrontOfQueue(Message msg) y sendMessageAtTime(Message msg, long uptimeMillis) ).

AsyncTask

  • Proporciona un mayor control y orden en la ejecución de nuestros procesos en segundo plano.
  • Marco de trabajo para operaciones no muy costosas.
  • A partir de la versión Android 3.0 (Honeycomb) las tareas se ejecutan en un sólo hilo, para evitar errores derivados de ejecuciones en paralelo.
  • Tarea asíncrona definida en 4 pasos ( OnPreExecute(), doInBackground(Params...), OnProgressUpdate(Progress...) y onPostExecute(Result...))

 

AsyncTask vs Thread

En este punto nos detendremos para comprender las situaciones en las que se recomienda el uso de una clase u otra, dependiendo de las necesidades del proyecto:

 

Uso de AsynTask Uso de Threads
  • En operaciones de red que no requieran la descarga de grandes cantidades de datos.
  • Tareas sobre disco que no tomen más de algunos segundos.
  • En tareas cuyo resultado del procesamiento en segundo plano vaya a ser publicado en el subproceso del hilo de la interfaz de usuario.
  • No es necesario el uso de Handler.
  • En operaciones de red, ya sea de carga o descarga, con una moderada o alta cantidad de datos.
  • En tareas de gran consumo de CPU que deban ejecutarse en segundo plano.
  • En tareas que sea necesario controlar el consumo de CPU por parte del hilo gráfico a GUI (graphical user interface).
  • En tareas que deseemos controlar la prioridad de ejecución (cola de procesamiento).
  • No interacciona con el hilo de interfaz de usuario, siempre y cuando, el ciclo de vida de la aplicación no esté destinada a ejecutarse en segundo plano.