Crear un IntentService en Android

David Galisteo Cantero

¡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”:

<service
   android:name="[nombrePaquete].SyncService"
   android:exported="false"/>

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!

Publicado el 15-09-2014

Compartelo!

Deja un comentario

Comentanos

*
Ir arriba de la pagina