Jun 152010

Como prometí en el primer post sobre Android hoy voy a esplicar un poco de código de Android.

En este ejemplo podremos ver como se obtiene datos de contactos con una API menor de 5, es decir para los moviles con Android 1.x y actualmente se encuentra deprecated (obsoleta), en general esto quere decir que en un futuro será eliminada. Pero no obtante este no es el caso, ya que esta API continuará activa, pero sólo devolverá datos de la primera cuenta de Google creada.

Para el API 5 se creó la clase “ContactsContract“, más reciente, que permite acceder a múltiples cuentas y agregar contactos que tengan un apoyo similar.

Para este ejemplo vamos a usar un “Cursor” para acceder a los datos, la clase “Contacts.Phones” para obtener las constantes para acceder a los datos de la agenda. Por supuesto, para poder leer esto es necesario tener permiso para leer la agenda. (Puedes descargar el codigo desde http://pastebin.com/AMGkjhzz)

@SuppressWarnings("finally")
public static boolean isContact(String num, ContentResolver contentResolver) {
	/**
	 * Dado un numero de telefono num, retorna si está o no en la agenda
	 * Para poder acceder a estos datos es necesario tener permiso de leectura de contactos.
	 * ("android.permission.READ_CONTACTS" en AndroidManifest.xml)
	 * @param num Numero de telefono
	 * @param context Contexto con permisos de leectura de Contactos
	 */
	boolean ret = false;
	try{
		Cursor cur = contentResolver.query(Contacts.Phones.CONTENT_URI, null, null, null, null);
		int index = cur.getColumnIndex(Contacts.Phones.NUMBER);
		while (!ret && cur.moveToNext())
			if (num.equals(cur.getString(index)))
				ret = true;
		cur.close();
	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		return ret;
	}
}

Más Información:
http://developer.android.com/guide/appendix/api-levels.html

ContentResolver

Deja Un Comentario

(necesario)

(necesario)