首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

对系统联系人操作时用到的两个种

2012-07-26 
对系统联系人操作时用到的两个类ContactContract类是介于contact的contentProvider和我们的应用程序中的一

对系统联系人操作时用到的两个类
ContactContract类
是介于contact的contentProvider和我们的应用程序中的一个类。它为我们提供了各种方法和常量来对系统的联系人数据库进行操,其中包括了对url的定义和对列名的定义。例如对data表进行查询:
Cursor cursor = contentResolver.query(ContactContract.Data.ContentUri,null,null,null,null);
//第一个参数是某一张表的uri,通过ContactContract.表名.ContentUri

CommomDataKinds类
是ContactContract类的内部类,data表中的一些列的类型都存在这里。data表中存储了email,phone,im,nickname,photo等的信息,我们可以通过CommomDataKinds类对这些数据进行操作。

Data表
   data表是一个泛型表,里面可以存储任何联系人的信息,在data表中的每一行存储一个信息(例如一个电话号码,一个邮箱),具体存储的类型由该行的MIMETYPE决定。例如,该行的
MIMETYPE的值是Phone.CONTENT_ITEM_TYPE,那么这行的data1列存储的就是一个电话号码(为此专门定义了一个表mimetypes,用来存储含义。我们可以查询该表从而明白data中的每一行存储的是什么数据)。
   sqlite> select * from mimetypes;
1|vnd.android.cursor.item/email_v2
2|vnd.android.cursor.item/im
3|vnd.android.cursor.item/postal-address_v2
4|vnd.android.cursor.item/photo
5|vnd.android.cursor.item/phone_v2
6|vnd.android.cursor.item/name
7|vnd.android.cursor.item/organization
8|vnd.android.cursor.item/nickname
9|vnd.android.cursor.item/group_membership
  这代表了data数据表中可以存储的9类数据,
 

热点排行