NOVEDADES IMPORTANTES

Acceso a todos los contenidos

Hace unos meses decidimos suspender nuestra actividad de formación online en Digital Learning SL (propietaria de esta web).

Desde entones hemos mantenido operativos nuestra plataforma de teleformación y webs de contenidos Academia Android y Digital Learning, habilitando un acceso libre y gratuito a todos estos recursos, incluyendo cursos y contenidos Premium que antes requerían un registro y pago previo, lo que ha propiciado un volumen de visitas constante de usuarios que consultan esta formación.

Venta-traspaso de los contenidos

Creemos que estas webs por sus contenidos, posicionamiento SEO y atracción de tráfico (junto a sus cuentas en redes sociales asociadas, incluyendo Twitter y Facebook de nuestro curso de Community Manager) pueden ser una oportunidad para emprendedores o compañías de diversos ámbitos (formación, marketing y publicación online, desarrollo software,…) que quieran:

  • Captar usuarios, alumnos o clientes para sus proyectos, productos y servicios.
  • Comercializar los contenidos bajo múltiples fórmulas: venta de publicidad, modelos freemium o de pago, suscripciones…
  • Crear un nuevo proyecto a partir de esta infraestructura de recursos.

Si tú o tú empresa estáis interesados en adquirirlos, ofrecemos su traspaso en propiedad exclusiva. Puedes contactar conmigo en «contacto@digitallearning.es» (por favor entiende que los correos que no vengan suficientemente identificados no vamos a atenderlos). Gracias.

Manuel Cabello (Socio-Director de Digital Learning/Academia Android)

Este es el número de tutoriales publicados:

Pincha en los textos de los contadores de Tutoriales publicados, Premium o Series de tutoriales para tener un detalle de las publicaciones que comprenden.

Desde hace unos meses, todos los contenidos, incluidos los Premium, son accesibles libre y gratuitamente.

  • Premium
  • Acceso libre
130
Acceso libre
126
Premium

Algunos datos sobre los contenidos que hemos publicado hasta la fecha:

74
Videos
61
Proyectos descargables
contacto[arroba]digitallearning.es

Contacts Provider: acceso al repositorio de datos de contacto

Post Series: Content Provider en Android

Siguiendo con nuestra primera serie de publicaciones sobre Content Provider, vamos a ver uno que proporciona Android, denominado Contacts Provider y que permite el acceso al repositorio central de datos de contactos de personas almacenadas en el dispositivo móvil.

El Contacts Provider almacena tres tipos de datos acerca de una persona, en el que cada uno de estos datos corresponde a una tabla proporcionada por el proveedor:

Estructura Contacts Provider

Se definen tres tablas, construidas a partir de las clases de contratos:

ContactsContract.Contacts

Proporciona una serie de constantes para la tabla de contactos, que define un registro por cada nuevo raw contact que representa a una misma persona.

Operaciones:

  • Insertar: No es posible insertar un nuevo contacto de manera explícita. Es necesario en primer lugar que el provider compruebe la existencia del contacto que represente a la persona (a través del campo contact_id del nuevo contacto), en caso de no existir, el provider insertará un nuevo contacto asignándole un _ID en la columna comentada anteriormente.
  • Actualizar: Cualquier modificación del contacto se hará efectiva en todos los raw contacts que constituya. No es posible la modificación de las siguientes columnas: TIMES_CONTACTED, LAST_TIME_CONTACTED, STARRED, CUSTOM_RINGTONE, SEND_TO_VOICEMAIL.
  • Eliminar: En caso de eliminar un contacto, los adaptadores de sincronización se encargarán de ejecutar la operación en todos los raw contacts donde esté definido.
  • Consultar:
    • Búsqueda de un contacto: CONTENT_LOOKUP_URI (URI)
    • Búsqueda de un contacto por número de teléfono: PhoneLookup.CONTENT_FILTER_URI (URI)
    • Búsqueda de un contacto por nombre aproximado: CONTENT_FILTER_URI (URI)
    • Búsqueda de un contacto por correo electrónico o sobrenombre: consulta sobre la tabla ContactsContract.Data

Documentación oficial Android ContactsContract.Contacts

ContactsContract.RawContacts

Define una serie de constantes de la tabla raw contacts, formada por una fila que contendrá información de un contacto por cada cuenta sincronizada.

Operaciones:

  • Insertar: Es posible insertar un contacto de manera incremental o por lotes.

Ejemplo incremental:

Ejemplo por lotes:

  • Actualizar: Es posible actualizar un contacto de manera incremental o por lotes. Es recomendable, siempre que sea posible, utilizar el modo por lotes.
  • Eliminar: Cuando se elimina un raw contact, todas las filas de datos serán también eliminadas. Cuando se eliminan todos los raw contacts de un Contacto, se eliminará toda la información almacenada de este Contacto.
  • Consultar: Para la realización de una consulta que devuelva todos los raw contacts de un contacto, será necesario insertar el siguiente código:

Documentación oficial Android ContactsContract.RawContacts

ContactsContract.Data

Implementa las constantes para la tabla Data. Cada fila de dicha tabla se utiliza para almacenar un sólo bloque de información de contacto, como por ejemplo el número de teléfono, además de sus metadatos asociados.

Operaciones:

  • Insertar: Para insertar una fila de datos individual, bastará con invocar al método insert(Uri, ContentValues). Para insertar múltiples filas, deberá realizarse mediante la inserción de un lote:

Ejemplo para insertar una fila individual de datos:

  • Actualizar: Es posible realizar operaciones de actualización tanto de forma incremental como por lotes. Se recomienda el uso de lotes:

Ejemplo de actualización por lotes:

  • Eliminar: Esta operación es posible, mediante la llamada al método delete(Uri, String, String[]), o usando un ContentProviderOperation:

Ejemplo uso de ContentProviderOperation:

  • Consultar: Bastará con la llamada al método query(Uri,projection,selection,selectionArgs,sortOrder):

Ejemplo que devuelve todos los datos de un determinado tipo, para un contacto dado:

Documentación oficial Android ContactsContract.Data

Ejemplo de relación entre las tres tablas principales

Relacion Tablas Contact Provider


Créditos: las imágenes de esta publicación provienen  de la documentación oficial Android sobre Contacts Provider publicada con licencia Creative Commons Attribution 2.5