ContactsProvider 主要的三个表Contacts,RawContacts,Data
Contacts表包含了不同的联系人的记录,RawContacts表是联系人的数据集合,指定用户账号和类型,Data表是存储具体的联系人信息,包括邮件、电话号码等。
RawContacts官方解释:
RowContact存储了用户数据所在服务器的账号和账号类型,由于Contacts Provider允许多个在线服务作为一个联系人的数据源,同时也允许用户使用同一个服务但是不同的账号来存储联系人信息。可以理解成Row Contacts存储的是用户的账户信息,包括账户类型和账户名称等。
大部分raw contacts的数据并没有直接存储在RowContacts表中,而是以一行或多行的形式存储在了Data表中,每一行有一列Data.RAW_CONTACT_ID包含了一个指向RawContacts表的列RawContacts._ID,也就是说RawContacts表存储的是引用。
Contacts表和raw contact表是一对多的关系
Contacts表是对raw contact表记录的聚合,即Contacts表中是没有账户(Account)的概念的
而raw contact表是联系人特定账户的的概要信息
Data表则存储了联系人的详细信息
raw_contacts表中的联系人名字是displayname,而真正的family name,middle name,last name在data表中。
ACCOUNT_NAME存储用户的账户名,比如sanpleuser@gmail.com,ACCOUNT_TYPE是账户类型,比如如果是Google账户则存储的值就是com.google。
posted on 2014-03-20 12:12 xichao1980 阅读(580) 评论(0) 编辑 收藏 举报