码迷,mamicode.com
首页 > 移动开发 > 详细

Android(java)学习笔记249:ContentProvider使用之获得系统联系人信息

时间:2015-09-14 21:13:57      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

1.系统联系人的数据库(3张最重要的表)

(1)raw_contacts  联系人表

       保存联系人的id   contact_id

(2)data 数据表

      保存联系人的数据

(3)mimetypes

      MIME数据类型表

 

2.思考? 如何获取联系人的数据。

1) 查询raw_contacts  获取所有的联系人的id ;

2)  根据id查询data表,获取当前联系人的数据 ;

   

3.因为如果要访问ContentProvider,必须要了解URI的设置(authority,path等);只有查看源代码才能够知道;AndroidManifest.xml为清单文件,列出了ContactProvider的authorities,以及要访问通讯录需要的权限;

4.通讯录数据库结构介绍:

表结构如下:

技术分享

技术分享

技术分享

 

通讯录是存放在/data/data/com.android.providers.contacts/databases/contacts2.db,里面主要的表有:

(1)raw_contacts:存放联系人的ID,

_id属性为主键,声明为autoincrement,即不需要手动设置,其他属性也不需要手动设置就有默认值;

display_name属性为姓名;

(2)mimetypes:存放数据的类型,比如"vnd.android.cursor.item/name"表示“姓名”类型的数据,"vnd.android.cursor.item/phone_v2"表示“电话”类型的数据;

(3)data:存放具体的数据;

raw_contact_id属性用来连接raw_contacts表,每条记录表示一个具体数据;我们主要的数据(email、phone等)都存放在data表;

data1属性存放总数据;

data2属性:

-如果此记录存放姓名,则data2存放名;

-如果此记录存放电话,则data2存放类型,比如手机、家电;

-如果此记录存放组织,则data2存放类型,比如公司、其他;

-如果此记录存放地址,则data2存放类型,比如住宅,单位等;

 

5. 编程提示:

URI

对raw_contacts表添加、删除、更新操作:

URI =  content://com.android.contacts/raw_contacts;

对data表添加、删除、更新操作:
URI =  content://com.android.contacts/data;
 
根据email对data表查询:

URI =     content://com.android.contacts/data/emails/filter/*

 

根据电话号码对data表查询

URI =     content://com.android.contacts/data/phone/filter/*

 

如果要根据ID查询电话,可以
URI = content://com.android.contacts/data;
然后where条件为:raw_contact_id=? and mimetype = ?
 

 

  

MIMETYPE
 
电话:vnd.android.cursor.item/phone_v2
姓名:vnd.android.cursor.item/name
邮件:vnd.android.cursor.item/email_v2
通信地址:vnd.android.cursor.item/postal-address_v2
组织:vnd.android.cursor.item/organization
照片:vnd.android.cursor.item/photo


 

Data中的常量

 

Data._ID: "_id"

Data.DISPLAY_NAME:“display_name”

Data.DATA1:“data1”

Data.DATA2:“data2”

Data.RAW_CONTACT_ID:“raw_contact_id”

Data.MIMETYPE:“mimetype”

 

 

Android(java)学习笔记249:ContentProvider使用之获得系统联系人信息

标签:

原文地址:http://www.cnblogs.com/hebao0514/p/4808077.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!