Usuario:ManuelRomero/Android2/PrimerPrograma/Servicios

Qué es un Service

 * Es una aplicación que se ejecuta en background y no tiene ninguna ventana asociada como en el caso de las activity.
 * Un servicio se ejecuta en el mismo hilo o thread que la activity que lo invoca.
 * El usuario gráficamente no ve que se está ejecutando
 * El usuario no puede interactuar con el service
 * Para inciar un Service se invoca al método startService - stopService

getSystemService http://www.sgoliver.net/blog/?p=1887
 * Otra forma de hacerlo es con Context.bindService Context.unbindService
 * En este caso la activity puede interactuar con el service y retornarle un objeto de tipo IBinder
 * Existen muchos servicios del sistema que podemos utilizar
 * aqui un ejemplo de como usar un servicio para hacer usar el GPS
 * También podemos crear uno nosotros con new Service o heredando de la clase Service
 * Haremos un ejemplo

Cuál es el ciclo de vida de un service
context.startService | onCreate - >onStartCommand [Servicio ejecutandose] context.stopService |  onDestroy [servicio parado]
 * El ciclo de vida de una Service es diferente al de un Activity

context.onBindService | ->onCreate [servicio creado] imagen:cicloVidaServico.png

Un pequeños ejemplo

 * Creamos una aplicación que arranque y pare un servicio que va a hacer sonar una canción
 * Creamos nuestra nueva aplicación como siempre
 * Archivo => Nuevo => Proyecto Android
 * Insertamos nombres y valores a las diferentes opcipones como ya hemos visto
 * Creamos una interfaz con dos botones Start Stop
 * Creamos una clase para el Servicio
 * En nuestro programa principal de la activity
 * Decimos que tenemos un servicio en el Manifest