标签:
一.联系人和通话记录: 数据库文件/data/data/com.android.providers.contacts/databases/contacts2.db
通话记录的数据存在calls表中; 联系人数据存放在raw_contacts和data表里,两个表构成主从表关系.
1.联系人(contacts2.db)
每个联系人在raw_contacts表里有一条记录,但地址\名称\email\电话等等数据存放在data表中.
(1)mimetypes表
_id mimetype
1 vnd.android.cursor.item/email_v2
2 vnd.android.cursor.item/im
3 vnd.android.cursor.item/nickname
4 vnd.android.cursor.item/organization
5 vnd.android.cursor.item/phone_v2
6 vnd.android.cursor.item/sip_address
7 vnd.android.cursor.item/name
8 vnd.android.cursor.item/postal-address_v2
9 vnd.android.cursor.item/identity
10 vnd.android.cursor.item/photo
11 vnd.android.cursor.item/group_membership
12 vnd.android.cursor.item/website
13 vnd.android.cursor.item/note
(2)data表
字段列表:_id package_id mimetype_id raw_contact_id is_read_only is_primary is_super_primary data_version data1 data2 data3 data4 data5 data6 data7 data8 data9 data10 data11 data12 data13 data14 data15 data_sync1 data_sync2 data_sync3 data_sync4
raw_contact_id:此值对应raw_contacts表的_id值.data表中每个联系人会有多行数据,同一个联系人而言,此值是相同的.
mimetype_id:对应mimetypes表的类型.由mimetypes表可知,data表中的数据,如果mimetype_id值为7表示存的是姓名,5表示存的是号码.
其它信息需要根据mimetype_id指示的类型具体分析
姓名数据:Uri(content://com.android.contacts/data)
Uri对应的宏为:android.provider.ContactsContract.Data.CONTENT_URI
data1字段: 姓名完整名称
data2字段: 名GIVEN_NAME
data3字段: 姓FAMILY_NAME
data4字段: 姓名前缀PREFIX
data5字段: 中间名MID_NAME
data6字段: 姓名后缀SUFIX
data7字段: 名字拼音SUFIX_PINYIN
data8字段: 中间名拼音MID_PINYIN
data9字段: 姓氏拼音FAMILY_NAME_PINYIN
电话数据:Uri(content://com.android.contacts/data/phones)
Uri对应的宏为:android.provider.ContactsContract.CommonDataKinds.Phone.CONTENT_URI
data1字段: 完整的电话号码
data2字段: 电话类型
电话类型信息如下
TYPE_CUSTOM = 0;
TYPE_HOME = 1;
TYPE_MOBILE = 2;
TYPE_WORK = 3;
TYPE_FAX_WORK = 4;
TYPE_FAX_HOME = 5;
TYPE_PAGER = 6;
TYPE_OTHER = 7;
Email数据:Uri(content://com.android.contacts/data/emails)
Uri对应的宏为:android.provider.ContactsContract.CommonDataKinds.Email.CONTENT_URI
data1字段: 邮箱地址
data2字段: Email类型
Email类型信息如下
TYPE_CUSTOM = 0;
TYPE_HOME = 1;
TYPE_WORK = 2;
TYPE_OTHER = 3;
TYPE_MOBILE = 4;
地址数据:Uri(content://com.android.contacts/data/postals)
data2字段: 地址类型
data4字段: 街道
data7字段: 州
data8字段: 城市
data9字段: 邮政编码
地址类型信息如下
TYPE_CUSTOM = 0;
TYPE_HOME = 1;
TYPE_WORK = 2;
TYPE_OTHER = 3;
(3)raw_contacts表
_id字段:每行表示一个联系人,与data表raw_contact_id字段对应.
sort_key字段:表示了姓名排序的信息.中文有对应的拼音.可能显示的数据格式为:LI 李 CUN 村
2.通话记录(contacts2.db)
Uri(content://call_log/calls) 对应的宏为:android.provider.CallLog.Calls.CONTENT_URI
name字段: 联系人姓名 CallLog.Calls.CACHED_NAME
number字段:电话号码 CallLog.Calls.NUMBER
date字段: 日期 CallLog.Calls.DATE
type字段: 类型 CallLog.Calls.TYPE
duration字段: 通话时长 CallLog.Calls.DURATION
标签:
原文地址:http://www.cnblogs.com/diysoul/p/5141029.html