文档介绍:
      Android的电话本的机制.
Android的电话本通过contentProvider封装好的。我们只要通过sdk提供的Uri和字段来对其进行增、删、改、查。
      权限 
view plaincopy to clipboardprint?
<uses-permission android:name=""></uses-permission>  
   <uses-permission android:name=""></uses-permission>  
[html] view plaincopyprint?
<uses-permission android:name=""></uses-permission>  
   <uses-permission android:name=""></uses-permission>  
      找到ContentProvider维护的Sqlist数据库文件( .db)
ContentProvider其实自己管理一个Sqlist数据库文件( .db)。这个文件的路径为/data/.。如图:
      查看ContentProvider维护的Sqlist数据库文件( .db)
在模拟器中的电话本里创建几个联系人,,可以用数据库查看工具SQLite Expert Professional打开看下,如图:
 
      从上图,,点开各表后可以看出主要的表有raw_contacts,contacts,data
二. api
      三张主表.
,从api和上面的图都可以看出关于电话本主要信息都存在 , ,  三张表里
  以上三张表的关联关系.
, , 三张表的关联,
;,
      
      各数据对应的类库,电话本各字段的数据结构
    Email
Type
Alias
Data column
String
ADDRESS
DATA1
Email address itself.
int
TYPE
DATA2
Allowed values are:
TYPE_CUSTOM. Put the actual type in LABEL.
TYPE_HOME
TYPE_WORK
TYPE_OTHER
TYPE_MOBILE
String
LABEL
DATA3
 
Email数据有三个字段存储:ADDRESS为Email值;TYPE为类型,当为自定义(TYPE_CUSTOM)时,LABEL字段要写入用户自定义的类型;
    IM 对应  
Type
Alias
Data column
String
DATA
DATA1
 
int
TYPE
DATA2
Allowed values are:
TYPE_CUSTOM. Put the actual type in LABEL.
TYPE_HOME
TYPE_WORK
TYPE_OTHER
String
LABEL
DATA3
 
String
PROTOCOL
DATA