Android读取联系人并按照拼音排序


Android系统1.6中 读取联系人:

  1. cursor = cr.query(People.CONTENT_URI, nullnullnull"name desc");           //取得联系人名次
  2.            name = cursor.getString(cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME));   
  3.             //取得联系人id   
  4.             String id = cursor.getString(cursor.getColumnIndex(ContactsContract.PhoneLookup._ID));   
  5.             //构造查询条件,根据联系人id为条件,查询手机号字段的信息   
  6.             String selection = ContactsContract.CommonDataKinds.Phone.CONTACT_ID+" = ? and "+ContactsContract.CommonDataKinds.Phone.TYPE+" = ?";   
  7.             String[] selectionArgs = {id,"2"};   
  8.             cursorSingle = cr.query(Uri.parse("content://com.android.contacts/data/phones"), new String[]{"data1"}, selection, selectionArgs, null);   
  9. cursorSingle.moveToNext();   
  10. mobile = cursorSingle.getString(0);</PRE>   

获取联系人名称和手机号

  1. cursor.moveToNext();   
  2. name = cursor.getString(cursor.getColumnIndex(Phones.NAME));   
  3. mobile = cursor.getString(cursor.getColumnIndex(Phones.NUMBER));  

android系统2.2中  读取联系人,此时只是取到名称以及联系人的id,还要根据id获取手机号码

  1. cursor = cr.query("content://com.android.contacts/contacts"nullnullnull"sort_key asc");  

获取联系人名称和手机号码

  1. //取得联系人名次   
  2. name = cursor.getString(cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME));   
  3. //取得联系人id   
  4. String id = cursor.getString(cursor.getColumnIndex(ContactsContract.PhoneLookup._ID));   
  5. //构造查询条件,根据联系人id为条件,查询手机号字段的信息   
  6. String selection = ContactsContract.CommonDataKinds.Phone.CONTACT_ID+" = ? and "+ContactsContract.CommonDataKinds.Phone.TYPE+" = ?";   
  7. String[] selectionArgs = {id,"2"};   
  8. cursorSingle = cr.query(Uri.parse("content://com.android.contacts/data/phones"), new String[]{"data1"}, selection, selectionArgs, null);   
  9. cursorSingle.moveToNext();   
  10. mobile = cursorSingle.getString(0);  

相关内容