The following code shows how to Gather Contact phone data from phone table.
Main Activity Java code
import android.app.AlertDialog; import android.app.ListActivity; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract; import android.view.View; import android.widget.AdapterView; import android.widget.SimpleCursorAdapter; /* w w w . ja v a2 s . c o m*/ public class MainActivity extends ListActivity implements AdapterView.OnItemClickListener { Cursor mContacts; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String[] projection = new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME }; mContacts = managedQuery(ContactsContract.Contacts.CONTENT_URI, projection, null, null, ContactsContract.Contacts.DISPLAY_NAME); SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, mContacts, new String[] { ContactsContract.Contacts.DISPLAY_NAME }, new int[] { android.R.id.text1 }); setListAdapter(mAdapter); getListView().setOnItemClickListener(this); } @Override public void onItemClick(AdapterView<?> parent, View v, int position, long id) { if (mContacts.moveToPosition(position)) { int selectedId = mContacts.getInt(0); // _ID column Cursor phone = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[] { ContactsContract.CommonDataKinds.Phone.NUMBER }, ContactsContract.Data.CONTACT_ID + " = " + selectedId, null, null); StringBuilder sb = new StringBuilder(); sb.append(phone.getCount() + " Phone Numbers\n"); if (phone.moveToFirst()) { do { sb.append("Phone: " + phone.getString(0)); sb.append('\n'); } while (phone.moveToNext()); sb.append('\n'); } AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(mContacts.getString(1)); // Display name builder.setMessage(sb.toString()); builder.setPositiveButton("OK", null); builder.create().show(); phone.close(); } } }