版权申明: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的内容,有待研究。
分享到:
相关推荐
这个项目,"基于android studio的读取联系人并可点击拨打电话",显然是一个教学或示例项目,它借鉴了郭霖的畅销书《第一行代码》中的方法。下面将详细讲解如何实现这一功能。 首先,我们需要了解Android的权限管理...
在AndroidManifest.xml文件中,必须添加读取联系人数据的权限声明,这是由于Android系统的隐私保护机制。相应的权限声明如下: ```xml <uses-permission android:name="android.permission.READ_CONTACTS" /> ``...
在Android系统中,`ContactsContract`是用于访问和操作设备上联系人数据的核心API。它是一个内容提供者(Content Provider),允许应用通过标准的 Uri(统一资源标识符) 查询、插入、更新或删除联系人信息。这篇...
综上所述,实现"Android读取通讯录中设置邮件的联系人"的功能涉及到Android的权限管理、ContentResolver、ContactsContract API的使用,以及数据处理和性能优化等多个方面。通过合理的编程实践,可以创建一个高效且...
在Android开发中,实现“Android仿手机查询读取联系人”的功能涉及到许多核心知识点,包括权限申请、ContentResolver、ContactsContract类以及意图(Intent)的使用。以下是对这些关键点的详细解释: 首先,**权限...
在Android平台上,获取手机通讯录和SIM卡联系人,以及调用拨号界面是常见的功能需求,这通常涉及到用户信息的读取和系统的交互。以下将详细解释如何实现这些功能。 首先,要获取手机通讯录的联系人信息,我们需要...
在Android中,可以通过`ContentResolver`和`ContactsContract`类来查询联系人数据。例如,你可以使用`query()`方法,指定`ContactsContract.CommonDataKinds.Phone.CONTENT_URI`作为数据源,查询联系人的电话号码,...
在Android系统中,读取手机联系人是一项常见的功能,它涉及到Android的核心组件——ContentProvider。ContentProvider是Android四大组件之一,用于在不同的应用程序之间共享数据。在这个场景下,我们将主要探讨如何...
在旧版本中,我们通常会使用`android.provider.Contacts`和`android.provider.Contacts.People`类来获取联系人数据,但在Android 2.0中,推荐使用`android.provider.ContactsContract`类。这是因为`ContactsContract...
这个“android 读取联系人demo”是一个示例项目,它演示了如何在Android应用中读取并展示用户的联系人数据。下面我们将深入探讨这个主题,了解如何在Android中访问联系人API,获取联系人信息,并将其显示出来。 1. ...
本节将详细讲解如何在Android应用中读取联系人信息,以及与之相关的`firstname`、`middlename`等字段的处理。 首先,为了读取联系人数据,我们需要在AndroidManifest.xml文件中添加读取联系人权限。在`<manifest>`...
本文将详细讲解如何通过Android API来读取设备上的联系人信息,并提供一个具体的代码示例。 首先,为了访问Android系统的联系人数据,我们需要在AndroidManifest.xml文件中添加相应的权限声明: ```xml ...
在Android平台上,开发人员经常需要访问用户的通讯录数据来实现特定功能,如联系人同步、消息发送等。本文将深入探讨如何使用Android Studio来读取手机的通讯录,这是一个非常实用且基础的知识点,适用于移动应用...
在Android系统中,获取手机联系人信息是常见的需求,尤其对于开发涉及通讯功能的应用来说更是必不可少。本示例("Android 读取手机联系人")通过内容提供器(Content Provider)这一核心组件来实现这一功能。内容...
在Android系统中,ContactsContract是用于访问和操作设备上联系人数据的核心API。这篇博客“ContactsContract读取联系人的异步方法”深入探讨了如何利用这个API以非阻塞的方式获取用户联系人信息,这对于提高应用...
Android提供了一个ContentProvider——ContactsContract,用于访问和操作联系人数据。ContactsContract类包含了许多常量和子类,用于构建URI来查询或更新联系人信息。 3. **ContentResolver和Cursor**: 使用...
在安卓(Android)平台上,开发...以上就是关于“安卓Android源码——获取手机通讯录的实战应用(含SIM卡中的联系人)”的核心知识点。在实际开发中,理解并熟练运用这些概念和API,将使你能创建功能丰富的通讯录应用。
在Android系统中,读取和拨打电话联系人是常见的功能,尤其对于开发者来说,理解这一过程对于构建涉及通讯录管理的应用至关重要。这篇博客主要探讨如何通过源码来实现这一功能,我们将深入Android的API和权限管理...
在Android开发中,读取联系人并将其显示在ListView中是一项常见的需求,这通常涉及到用户界面(UI)设计、数据获取以及数据绑定等技术。在这个"Android项目-读取联系人结合listview.zip"中,我们可以学习到如何实现...