Que tipo de Servicio usar en Android - Appmaster.es Que tipo de Servicio usar en Android - Appmaster.es

Que tipo de Servicio usar en Android

Que tipo de Servicio usar en Android

Que tipo de Servicio usar en Android

En la semana previa a terminar el modulo de Android nos centramos en un componente muy importante para la plataforma: Los Servicios. Si recordamos el último resumen de clase sobre Multimedia ya hablamos del funcionamiento del funcionamiento de MediaPlayer y como se ejecuta desde un Service o Servicio para reproducir en background.

¿Que es un Servicio?

Un Servicio es un componente que Android provee para realizar operaciones de larga duración en background sin interfaz gráfica. Un Actividad puede lanzar un Servicio y este permanecerá activo incluso cuando el usuario cambie a otra aplicación.

Algunos de los casos típicos donde usamos un Servicio pueden ser:

  • Reproducir Música, como ya mencionamos para el caso de MediaPlayer.
  • Trabajos pesados a través de la red, por ejemplo descarga de archivos grandes como pueden ser los torrents.
  • Operaciones largas con ficheros: compresión, desencriptado …
  • Sincronización de proveedores de contenidos.

Tipos de Servicio

Usualmente un servicio puede tener dos formas:

  • Started : lo lanza un componente, por ejemplo, una Activity y corre en background indefinidamente, incluso si el componente que lo ha lanzado es destruido. No se espera respuesta de él.
  • Bounded : se “enlaza” desde un componente y ofrece la posibilidad de interactuar con él. Muchos componentes se pueden “enlazar” con él. El servicio muere cuando no esta “bindeado” con ningún componente.

Es posible trabajar con las dos formas a la vez, cualquier aplicación puede trabajar con nuestro servicio, al igual que ocurre con el resto de componentes.

Started Services

Dentro de este tipo de servicios tenemos la clase Service que es la clase base de todos los servicios. Es importante crear un hilo para realizar todo el trabajo del servicio.

Por otro lado tenemos la clase IntentService que es una subclase de Service. Es la mejor opción si no necesitas que tu servicio maneje peticiones de forma simultánea.

Mientras que los Services son mas complicados y es necesario implementarlo todo en los IntentService tenemos mucho comportamiento implementado por defecto. En los primero podemos definir comportamientos diferentes al del IntentService.

Bound Services

Permiten enlazar otros componentes de Android al servicio, como componentes de la interfaz gráfica, a través de un objeto IBinder que actúa como interfaz de comunicación.

servicio notificaciones

Por ejemplo un servicio puede notificar al usuario mediante Toast o con notificaciones en la barra de estado. Este tipo de servicios se usa para tareas de las que el usuario está pendiente.

 

The following two tabs change content below.

Fran Gilberte

Deja un comentario

Tu dirección de correo electrónico no será publicada.