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
Proyecto AlarmManager (3)

Proyecto AlarmManager

Post Series: Tareas en segundo plano en Android (II)

En este tutorial vamos a desarrollar una sencilla aplicación Android, que nos servirá como ejercicio práctico para ver la implementación de la clase AlarmManager. En ella utilizaremos esta clase, y la clase Thread, para programar tareas en segundo plano.

Puedes descargar todo el código de este proyecto al final de este tutorial

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. Estas ejecutarán tareas en background, y programarán el lanzamiento de dichas tareas, de manera repetida, en intervalos de tiempo elegidos por el usuario, o en una hora determinada.
  • También definiremos una clase llamada PlanificarTareas, que heredará de la clase base BroadcastReceiver, encargada de recibir los diferentes intents lanzados por la tarea en segundo plano.

A nivel de Layout será necesario añadir los siguientes elementos (sólo se mencionarán los elementos que intervienen en la planificación de tareas):

Layout proyecto AlarmManager

  • Dos componentes de tipo ImageButton encargados de programar la repetición de la alarma en un intervalo de tiempo indicado por el usuario, o programar la ejecución de la tarea a una hora determinada.
  • Un componente de tipo TimePicker para programar la tarea a una hora específica.
  • Un componente de tipo EditText (tipo de entrada «número») para indicar cada cuántos segundos queremos que se repita la tarea en segundo plano
  • Dos componentes de tipo TextView para mostrar la hora programada o el intervalo de tiempo, en segundos, para la repetición de la tarea, además de mostrar 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).

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

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 TimePicker y EditText, para programar la ejecución de las tareas.

 

Posteriormente se define el evento encargado de controlar si el botón con la imagen del reloj ha sido pulsado, para la programación de una tarea, con la hora indicada por el usuario en el componente TimePicker:

 

Otro de los eventos a comentar, sería el lanzado por el botón con la imagen de dos flechas, a modo de recarga, indicando en el componente EditText, el tiempo en segundo que deseamos como intervalo de repetición de la alarma programada:

 

 

En primer lugar crearemos un clase que herede de BroadcastReceiver:

public class PlanificarTareas extends BroadcastReceiver{

Posteriormente se sobrescribirá el método OnReceive desde dónde se invocará al método que ejecute la tarea en segundo plano:

 

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

  • El componente TimePicker, permitirá programar una tarea a una hora indicada.
  • Los diferentes componentes de tipo ImageButton permiten programar una tarea una hora concreta, o su repetición en un intervalo de tiempo indicado.
  • El componente ProgressBar es el encargado de mostrar el progreso de la tarea, actualizando el porcentaje de progreso en el componente TextView (‘Sin Progreso’).
  • Por último, se define un componente EditText, que recogerá el valor en segundos, del intervalo de repetición entre tarea y tarea.

Proyecto AlarmManager (2)

 

 

Programación de tareas en segundo plano con las clases Thread, Handler y AlarmManager.

Como se puede comprobar en la imagen, se programa una tarea a las 2:49 PM y se pulsa el botón con la imagen del reloj. En el reloj del dispositivo se puede apreciar que dicha alarma funciona correctamente:

proyecto AlarmManager (3)

 

Repetición de tareas en segundo plano con las clases Thread, Handler y AlarmManager.

En la siguiente imagen se aprecia cómo se ha establecido un tiempo de 35 segundos como intervalo de repetición entre tarea y tarea, pulsando el botón de recarga:

Proyecto AlarmManager (4)

Descarga

Pincha aquí para descargar el código de este proyecto

Descargar

This Post Has 5 Comments

    1. Hola Roberto,
      no sabemos si entendemos bien tu comentario dado que en esta web tienes gran cantidad de contenidos formativos sobre programación Android. Aquí tienes las temáticas que hemos tratado hasta ahora: http://academiaandroid.com/tematicas-series-de-publicaciones/
      También tienes nuestros cursos online, que abarcan desde una iniciación (aprender los fundamentos de programar en Java y Programación Orientada a Objetos que es básico antes de iniciarse en Android y que continuaría con nuestro curso para aprender a desarrollar Apps para Android) a formación más especializados, por ejemplo en bases de datos para Android. En este enlace tienes los cursos disponibles: http://academiaandroid.com/cursos-formacion/

      Por supuesto si buscas en Internet, encontrarás más documentación sobre Java y Android. Depende de lo quieras ya puedes elegir.

      Saludos

  1. Me ayudo mucho este blog, ahora lo que estoy buscando es que me salga una pantalla aun que el telefono este bloqueado, es decir, algo asi como cuando programas una alarma en el relog y cuando llega la hora comienza a sonar y aunq ue el telefono este bloquedo te manda la pantalla que te permite cancelar la alarma

    gracias por su ayuda
    Saludos

Comments are closed.