android之获取联系人并按拼音排序

//获取联系人
//“display_name COLLATE LOCALIZED”:按姓名的拼音排序
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, "display_name COLLATE LOCALIZED");
//遍历联系人
while(cursor.moveToNext()){
  String phonesNumber=""; //电话号码
  //获取联系人ID
  String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
  //按照当前联系人ID获取电话号码,号码可能有多个
  Cursor phones = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"="+contactId, null, null);
  //获取联系人姓名
  String displayName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
  //判断号码是否为空
  if (phones.moveToFirst()) {
    //遍历号码
    do{
      phonesNumber += phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER))+"\t\t";
    }while(phones.moveToNext());
  }
  String showContract+= displayName+":"+phonesNumber+"\n";
}
时间: 2024-11-05 06:33:38

android之获取联系人并按拼音排序的相关文章

ANDROID之获取联系人

Android入门中,记录学习中的遇到的问题和一些个人总结. 联系人数据库路径为:/data/data/com.android.providers.contacts/database/contacts2.db 权限问题:安卓6.0以上只是在XML中写权限还不够,代码中也需要写. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.READ_CONTA

android之读取联系人信息

联系人信息被存放在一个contacts2.db的数据库中 主要的两张表 布局文件 在布局文件中定义一个button按钮来获取触发获取联系人信息的事件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="ver

如何获取android手机联系人并按字母展示(一)

android提供了本地数据库的查询uri,可以查询出数据: 采用一个AsyncQueryHandler来进行查询, AsyncQueryHandler自己开启了线程来进行数据查询,很方便 protected AsyncQueryHandler mQueryHandler; protected final void queryPersonal() { mQueryHandler.startQuery(QUERY_TOKEN, null, ContactsContract.Contacts.CON

如何获取android手机联系人并按字母展示(二)

下面写怎么让每个首字母相同的联系人归类展示: 在adapter implement SectionIndexer 这样adapter里必须实现以下3个接口: @Override public Object[] getSections() { //section的集合 } @Override public int getPositionForSection(int section) {//当前section的位置 } @Override public int getSectionForPositi

如何获取android手机联系人并按字母展示(三)

如果获取contact的头像信息并展示: 如何根据photoId来获取bitmap: public static Bitmap getContactPhoto(Context context, long photoId, BitmapFactory.Options options) { if (photoId < 0) { return null; } Cursor cursor = null; try { cursor = context.getContentResolver().query(

【Android Developers Training】 99. 获取联系人详细信息

注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/contacts-provider/retrieve-details.html 这节课将会展示如何获取一个联系人的详细数据,比如电子邮件地址,电话号码,等等.当用户获得一个联系人后,他会想要查看他的详细信息.你可以展示给他们所有的信息,或者只展示某一特定类

Android 获取联系人手机号码、姓名、地址、公司、邮箱、生日

public void testGetAllContact() throws Throwable { //获取联系人信息的Uri Uri uri = ContactsContract.Contacts.CONTENT_URI; //获取ContentResolver ContentResolver contentResolver = ContactListActivity.this.getContentResolver(); //查询数据,返回Cursor Cursor cursor = con

Android通讯录管理(获取联系人、通话记录、短信消息)(二)

http://blog.csdn.net/wwj_748/article/details/19970271 Android通讯录管理(获取联系人.通话记录.短信消息)(二) 2014-02-26 11:40 9076人阅读 评论(11) 收藏 举报  分类: [Android通讯录模块开发](10)  版权声明:本文为博主原创文章,未经博主允许不得转载. Android通讯录管理(获取联系人.通话记录.短信消息)(二) 前言:上一篇博客介绍的是获取联系人的实现,本篇博客将介绍通话记录的实现. 同

android通过查询电话号码获取联系人信息

[java] view plaincopyprint? // 取得Intent中的頭像 ivShowImage = (ImageView) findViewById(R.id.call_log_detail_contact_img); //通话电话号码获取头像uri Uri uriNumber2Contacts = Uri .parse("content://com.android.contacts/" + "data/phones/filter/" + strPh