Slide 53
Slide 53 text
StringBuilder builder = new StringBuilder();
String lineSep = System.getProperty("line.separator");
ContentResolver content = getContentResolver();
Cursor ncursor = null;
try
{
ncursor = content.query (ContactsContract.Data.CONTENT_URI,
new String[] { ContactsContract.Data.MIMETYPE, ContactsContract.Contacts.LOOKUP_KEY, ContactsContract.Contacts.DISPLAY_NAME },
ContactsContract.Data.MIMETYPE + "=? AND " + ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME + "=?",
new String[] { ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE, "Eric" }, null);
while (ncursor.moveToNext())
{
builder.append (ncursor.getString(ncursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)) + lineSep);
String lookupKey = ncursor.getString (ncursor.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));
Cursor dcursor = null;
try
{
dcursor = content.query (ContactsContract.Data.CONTENT_URI,
new String[] { ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.NUMBER, ContactsContract.Data.DATA1 },
ContactsContract.Contacts.LOOKUP_KEY + "=?", new String[] { lookupKey }, null);
while (dcursor.moveToNext())
{
String type = dcursor.getString (ncursor.getColumnIndex(ContactsContract.Data.MIMETYPE));
if (type.equals (ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE))
builder.append ("Phone: " + dcursor.getString(dcursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)) + lineSep);
else if (type.equals (ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE))
builder.append ("Email: " + dcursor.getString(dcursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA1)) + lineSep);
}
builder.append(lineSep);
}
finally
{
if (dcursor != null)
dcursor.close();
}
}
}
finally
{
if (ncursor != null)
ncursor.close();
}
t.setText(builder.toString());