`
yarin
  • 浏览: 171993 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Android2.0 中读取联系人——ContactsContract

阅读更多

版权申明:http://yarin.iteye.com/blog/453262

 

当我们将Andorid1.5及其以前的项目放到Android2.0上时,如果代码中有

import android.provider.Contacts;

Eclipse会提示“建议不使用”,那是因为在Android2.0中,联系人api发生了变化,需要使用ContactsContract。

 

直接看下面一个最简单的例子,读取联系人的姓名和电话号码:

读取联系人的名字很简单,但是在读取电话号码时,就需要先去的联系人的ID,然后在通过ID去查找电话号码!一个联系人可能存在多个电话号码!

		//得到ContentResolver对象
        ContentResolver cr = getContentResolver();  
        //取得电话本中开始一项的光标
		Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

		while (cursor.moveToNext())
		{
			// 取得联系人名字
			int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
			String name = cursor.getString(nameFieldColumnIndex);
			string += (name);

			// 取得联系人ID
			String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
			Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "
					+ contactId, null, null);

			// 取得电话号码(可能存在多个号码)
			while (phone.moveToNext())
			{
				String strPhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
				string += (":" + strPhoneNumber);
			}
			string += "\n";
			phone.close();
		}
		cursor.close();

 当然,还有得到email等操作!

先写到这里,更多关于Android2.0的内容,有待研究。 

分享到:
评论
2 楼 山脚下的农民 2012-06-02  
楼主的书哥看完了,写的不错,能够抛砖引玉,是本不错的入门书籍。楼主可以再出一本真正揭秘的高深些的书供入门后提高。
1 楼 morosefrog 2010-05-02  
不错,谢谢,学习了。

相关推荐

    android中ContactsContract获取联系人的方法

    NULL 博文链接:https://zymic.iteye.com/blog/737643

    ContactsContract读取联系人的异步方法

    NULL 博文链接:https://zymic.iteye.com/blog/737681

    Android-ContactsContract联系人增删改查

    Android-ContactsContract联系人增删改查

    Android获取手机联系人信息

    Android如何获取手机联系人信息,本文为大家揭晓。 获取手机联系人信息步骤: 1、获取 ContentResolver ContentResolver resolver = getContentResolver(); 2、resolver.query(*)查询信息 查询手机联系人的URI...

    android实现读取、搜索联系人的代码

    //读取联系人 public static Uri CONTACTSURI = ContactsContract.Contacts.CONTENT_URI;//联系人  public static void getContactsInfo(Context context,String tag){  String[] projections = new String[]{...

    Android控件ListView用法(读取联系人示例代码)

    示例代码: 这是一个读取联系人的代码: 代码如下: package com.ui.domain; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.database.Cursor; import android....

    android获取联系人示例分享

    import java.util.ArrayList;import java.util.HashMap; import android.app.Activity;import android.database....import android.provider.ContactsContract.CommonDataKinds.Phone;import android.widget.ListVie

    手机联系人android原生代码

    这个是android系统原生代码中的联系人代码,在源代码的packages文件夹下,需要做联系人相关工作的同仁们,可以解压后看一看,同时,附赠上一个博客链接http://blog.csdn.net/Kafka_88/article/details/50670406 ...

    Android获取手机联系人的方法

    Android 获取系统联系人信息的实例 一、获取手机联系人姓名及手机号 //跳转到系统联系人应用 Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); try { ...

    android手机通讯录备份还原代码

    1.把通讯录中的联系人,电话号码保存到txt文件中完成备份。 2.读取txt文件,导入到通讯录完成还原。 具体代码 1.添加 通讯录读写权限,存储卡写权限 <uses-permission android:name="android.permission.READ_...

    Android获取联系人头像的方法

    本文实例讲述了Android获取联系人头像的方法。分享给大家供大家参考,具体如下: public byte[] getPhoto(String people_id) { String photo_id = null; String selection1 = ContactsContract.Contacts._ID + = + ...

    Introduction.to.Android.Application.Development(4th,2013.12) pdf

    Introducing the ContactsContract Content Providers 322 Modifying Content Provider Data 324 Adding Records 325 Updating Records 326 Deleting Records 327 Using Third-Party Content Providers 328 Summary...

    android sdk 自带 实例(samples)

    An application that demonstrates how to query the system contacts provider using the ContactsContract API, as well as insert contacts into a specific account. Home A home screen replacement ...

    CommonsWare.The.Busy.Coders.Guide.to.Android.Development.Version.8.2.2017

    Android, the next-generation open mobile platform from Google and the Open Handset Alliance, is poised to become a significant player in the mobile device market. The Android platform gives developers...

    The Busy Coders Guide to Android Development最终版2019

    The ContactsContract and CallLog Providers The CalendarContract Provider The MediaStore Provider Consuming Documents Providing Documents Encrypted Storage Packaging and Distributing Data Advanced ...

    Android实现获取联系人电话号码功能

    本篇文档主要记录一下获取联系人的电话号码的一种方式。 1、选择联系人 ............ //构造一个隐式的Intent,拉起联系人界面 final Intent pickIntent = new Intent(Intent.ACTION_PICK, ContactsContract....

    package com.example.f1_telephone;

    //取得联系人名字 int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME); String contact = cursor.getString(nameFieldColumnIndex); //取得电话号码 String ContactId = cursor....

    Android 向所有用户的手机发送短信.rar

    Android 向所有用户的手机发送短信,类似于群发,现在最好不要使用这种功能,发代码仅是为了学习编程技巧:  String phoneNumber = phones.getString(phones.getColumnIndex(  ContactsContract.CommonDataKinds....

    Android代码-一个onActivityForResult handlers的方便注解

    pickContactIntent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE); startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST); } @Override protected void onActivityResult(int ...

Global site tag (gtag.js) - Google Analytics