`
yarin
  • 浏览: 174205 次
  • 性别: 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 studio的读取联系人并可点击拨打电话

    这个项目,"基于android studio的读取联系人并可点击拨打电话",显然是一个教学或示例项目,它借鉴了郭霖的畅销书《第一行代码》中的方法。下面将详细讲解如何实现这一功能。 首先,我们需要了解Android的权限管理...

    android读取系统联系人

    在AndroidManifest.xml文件中,必须添加读取联系人数据的权限声明,这是由于Android系统的隐私保护机制。相应的权限声明如下: ```xml <uses-permission android:name="android.permission.READ_CONTACTS" /> ``...

    android中ContactsContract获取联系人的方法

    在Android系统中,`ContactsContract`是用于访问和操作设备上联系人数据的核心API。它是一个内容提供者(Content Provider),允许应用通过标准的 Uri(统一资源标识符) 查询、插入、更新或删除联系人信息。这篇...

    Android读取通讯录中设置邮件的联系人

    综上所述,实现"Android读取通讯录中设置邮件的联系人"的功能涉及到Android的权限管理、ContentResolver、ContactsContract API的使用,以及数据处理和性能优化等多个方面。通过合理的编程实践,可以创建一个高效且...

    Android仿手机查询读取联系人

    在Android开发中,实现“Android仿手机查询读取联系人”的功能涉及到许多核心知识点,包括权限申请、ContentResolver、ContactsContract类以及意图(Intent)的使用。以下是对这些关键点的详细解释: 首先,**权限...

    Android获取手机通讯录、sim卡联系人及调用拨号界面方法

    在Android平台上,获取手机通讯录和SIM卡联系人,以及调用拨号界面是常见的功能需求,这通常涉及到用户信息的读取和系统的交互。以下将详细解释如何实现这些功能。 首先,要获取手机通讯录的联系人信息,我们需要...

    Android 连接服务器读取联系人

    在Android中,可以通过`ContentResolver`和`ContactsContract`类来查询联系人数据。例如,你可以使用`query()`方法,指定`ContactsContract.CommonDataKinds.Phone.CONTENT_URI`作为数据源,查询联系人的电话号码,...

    android读取手机联系人

    在Android系统中,读取手机联系人是一项常见的功能,它涉及到Android的核心组件——ContentProvider。ContentProvider是Android四大组件之一,用于在不同的应用程序之间共享数据。在这个场景下,我们将主要探讨如何...

    Android+SDK+2.0中获取联系人信息.docx

    在旧版本中,我们通常会使用`android.provider.Contacts`和`android.provider.Contacts.People`类来获取联系人数据,但在Android 2.0中,推荐使用`android.provider.ContactsContract`类。这是因为`ContactsContract...

    android 读取联系人demo

    这个“android 读取联系人demo”是一个示例项目,它演示了如何在Android应用中读取并展示用户的联系人数据。下面我们将深入探讨这个主题,了解如何在Android中访问联系人API,获取联系人信息,并将其显示出来。 1. ...

    Android 读取联系人信息

    本节将详细讲解如何在Android应用中读取联系人信息,以及与之相关的`firstname`、`middlename`等字段的处理。 首先,为了读取联系人数据,我们需要在AndroidManifest.xml文件中添加读取联系人权限。在`<manifest>`...

    Android读取联系人代码示例

    本文将详细讲解如何通过Android API来读取设备上的联系人信息,并提供一个具体的代码示例。 首先,为了访问Android系统的联系人数据,我们需要在AndroidManifest.xml文件中添加相应的权限声明: ```xml ...

    Android studio—读取通讯录

    在Android平台上,开发人员经常需要访问用户的通讯录数据来实现特定功能,如联系人同步、消息发送等。本文将深入探讨如何使用Android Studio来读取手机的通讯录,这是一个非常实用且基础的知识点,适用于移动应用...

    Android 读取手机联系人

    在Android系统中,获取手机联系人信息是常见的需求,尤其对于开发涉及通讯功能的应用来说更是必不可少。本示例("Android 读取手机联系人")通过内容提供器(Content Provider)这一核心组件来实现这一功能。内容...

    ContactsContract读取联系人的异步方法

    在Android系统中,ContactsContract是用于访问和操作设备上联系人数据的核心API。这篇博客“ContactsContract读取联系人的异步方法”深入探讨了如何利用这个API以非阻塞的方式获取用户联系人信息,这对于提高应用...

    android 联系人模块

    Android提供了一个ContentProvider——ContactsContract,用于访问和操作联系人数据。ContactsContract类包含了许多常量和子类,用于构建URI来查询或更新联系人信息。 3. **ContentResolver和Cursor**: 使用...

    安卓Android源码——获取手机通讯录的实战应用(含SIM卡中的联系人).rar

    在安卓(Android)平台上,开发...以上就是关于“安卓Android源码——获取手机通讯录的实战应用(含SIM卡中的联系人)”的核心知识点。在实际开发中,理解并熟练运用这些概念和API,将使你能创建功能丰富的通讯录应用。

    读取android系统的联系人拨号

    在Android系统中,读取和拨打电话联系人是常见的功能,尤其对于开发者来说,理解这一过程对于构建涉及通讯录管理的应用至关重要。这篇博客主要探讨如何通过源码来实现这一功能,我们将深入Android的API和权限管理...

    Android项目-读取联系人结合listview.zip

    在Android开发中,读取联系人并将其显示在ListView中是一项常见的需求,这通常涉及到用户界面(UI)设计、数据获取以及数据绑定等技术。在这个"Android项目-读取联系人结合listview.zip"中,我们可以学习到如何实现...

Global site tag (gtag.js) - Google Analytics