Android Contacts的施用(一)

Android Contacts的使用(一)学习使用Android联系人数据库。要求懂得基本的SQLite的知识。可以查看 Android S

Android Contacts的使用(一)
学习使用Android联系人数据库。要求懂得基本的SQLite的知识。可以查看 Android SQLite and Cursor Article相关文章以获取更多信息。从Android 1.x 至 2.0 版本谷歌改变了Android的联系人数据库。该手册主要分为三个部分:一是介绍2.0中访问名片夹;二是介绍1.6之前的版本;三我们综合了为每个版本给出一个抽象类和累积来管理名片记录数据。

Android Contact API For 2.0

Granting Access 授予权限
AndroidManifest.xml文件中授予以下权限
<uses-permission android:name="android.permission.READ_CONTACTS" />

Querying The Android Contact Database 联系人数据库查询


基本的个人信息存储在名片夹表,而详细的存储在个人表里。在Andoid2.0中查询相应联系记录的URI是ContactsContract.Contacts.CONTENT_URI。



在Android联系人SQLite数据库中执行第二个查询。查询的电话号码是针对ContactsContract.CommonDataKinds.Phone.CONTENT_URI存储的URI。CONTACT_ID存储在电话表中,ContactsContract.CommonDataKinds.Phone.CONTACT_ID和where子句用于限制返回的数据。

Email Addresses 电子邮件地址

Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,null,                             ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", new String[]{id}, null);
       while (emailCur.moveToNext()) {                         
            //如果email地址被保存在一个数组中,你将得到多个邮件地址             String email =


Postal Addresses 邮政地址


Instant Messenger (IM) 即时消息


Organizations 组织