Introducción a las estructuras de las aplicaciones de Android: actividades, fragmentos y receptores de transmisión

La diferencia entre el servicio iniciado y el servicio enlazado

AspectosStarted ServiceBound Service
Cómo empezarEmpezando por startService().Empezando por bindService().
DuraciónSe ejecuta hasta que se completa o se detiene la tarea.Se ejecuta siempre que haya componentes conectados.
ComunicaciónNo se puede comunicar directamente con otros componentes.Puede comunicarse directamente con los componentes unidos.
Ejemplos de usoTransmisión de música, sincronización de datos.Reproductor de música, comunicación en tiempo real.

Ejemplos de uso de servicios en aplicaciones

1. Aplicaciones de música:

  • Started Service: Reproduce música en segundo plano cuando la aplicación está inactiva.
  • Bound Service: Controla la reproducción de música desde Activity o Fragment.

2. Aplicaciones deportivas:

  • Started Service: Rastrea la ubicación del usuario mientras corre o anda en bicicleta.
  • Bound Service: Muestra la ubicación en tiempo real y los datos de velocidad en el Activity.

3. Aplicación de chat:

  • Started Service: Envía y recibe mensajes en segundo plano.
  • Bound Service: Muestra nuevos mensajes en tiempo real en Activity.

6. Content Provider: Intercambio de datos entre aplicaciones

Content Provider es un componente esencial en las aplicaciones de Android que permite que las aplicaciones compartan datos con otras aplicaciones. Mediante el uso de Content Provider, puede dar acceso a los datos de su aplicación, como listas de contactos, archivos multimedia o bases de datos, a otras aplicaciones.

Content Provider también permite que su aplicación acceda a datos de otras aplicaciones, como acceder a la lista de contactos o la galería de fotos de un usuario.

Cómo usar Content Provider

Content Provider proporciona una interfaz estandarizada para acceder y manipular datos. Se accede a los datos a través de URI (Uniform Resource Identifier) definido por el Content Provider.

1. Acceso a los datos desde Content Provider

Para acceder a los datos desde el Content Provider, debe utilizar el ContentResolver y el URI adecuados.

Ejemplo de acceso a una lista de contactos:

Uri uri = ContactsContract.Contacts.CONTENT_URI;
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
if (cursor != null) {
  while   (cursor.moveToNext()) {
  String name  cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
  Log.d(“Contact”, name);
  }
  cursor.close();
}

2. Agregar, modificar o eliminar datos

También puede agregar, cambiar o eliminar datos a través de Content Provider utilizando ContentResolver.

Adición de datos:

ContentValues values =  new ContentValues();
values.put(ContactsContract.Contacts.DISPLAY_NAME, “John Doe”);
Uri newContactUri = getContentResolver().insert(ContactsContract.Contacts.CONTENT_URI, values);

Modificación de datos:

ContentValues values =  new ContentValues();
values.put(ContactsContract.Contacts.DISPLAY_NAME, “Jane Doe”);
getContentResolver().update(ContactsContract.Contacts.CONTENT_URI, values, null, null);

Eliminación de datos:

getContentResolver().delete(ContactsContract.Contacts.CONTENT_URI, null, null);

Ejemplos de  uso de Content Provider

1. Aplicación de contacto:

  • Content Provider permite que otras aplicaciones accedan a la lista de contactos del usuario.
  • Ejemplo: Una aplicación de mensajería utiliza un Content Provider para seleccionar el contacto del destinatario.

2. Aplicación de galería de fotos:

  • Content Provider permite que otras aplicaciones accedan a las fotos y videos almacenados en el dispositivo.
  • Ejemplo: Una aplicación de redes sociales utiliza un Content Provider para seleccionar las fotos que se van a subir.

3. Aplicación de calendario:

  • Content Provider permite que otras aplicaciones accedan a horarios y eventos en el calendario del usuario.
  • Ejemplo: Una aplicación de recordatorio utiliza un Content Provider para agregar eventos al calendario.

Artículos más recientes