Crear un IntentService en Android
Anuncio:
¡Hola! En esta ocasión vamos a ver cómo crear un servicio en Android.
Para empezar, dispondríamos de dos tipos de servicios, la clase «Service», cuyas operaciones se realizan en el mismo hilo de la App, y la clase «IntentFilter», en la cual nos vamos a centrar, sobre todo usada para temas de uso de red. Con esta clase, no tendremos permiso para modificar el UI Thread, por lo que, si queremos actualizar alguna información en pantalla, tendremos que crear un «BroadcastReceiver», algo que ya veremos en siguientes entradas.
Primero de todo, creamos nuestra clase IntentService:
public class SyncService extends IntentService{
public SyncService() {
super("SyncService");
}
@Override
protected void onHandleIntent(Intent arg0) {
//AQUÍ TODO EL PROCESAMIENTO
}
}
La llamada al constructor de la clase padre «IntentService» (con super), ha de recibir el nombre del servicio, en este caso de lo pasamos directamente.
Bien, ahora vamos a declararlo en nuestro archivo ‘manifest.xml’ dentro del objeto «Application»:
Y por último, hacemos la llamada al servicio, cabe destacar que puede realizarse desde un «Activity» o un «Fragment»:
Intent mServiceIntent = new Intent(this, SyncService.class);
startService(mServiceIntent);
De manera automática, cuando llamamos a la función ‘startService’, se invoca el método ‘onHandleIntent’, en el cual se encuentra toda la funcionalidad del servicio.
Eso es todo, ya tenemos creado nuestro servicio, como dije al principio de la entrada, en próximas entradas veremos cómo actualizar la vista de la App con un «BroadcastReceiver».
Espero que os haya sido de ayuda.
HackSaludos!