系统的ContentProvider

来源:互联网 发布:淘宝加入ifashion 编辑:程序博客网 时间:2024/06/05 06:55

一.调用Activity的getContentResolver获取ContentResolver对象

二.根据ContentResolver的insert(),delete(),update(),和query()方法获取操作数据即可。

三.使用ContentProvider管理联系人

ContactsContract.Contacts.CONTENT_URI                                                   -----管理联系人的Uri

ContactsContract.CommonDataKinds.Phone.CONTENT_FILTER_URI  --------- 管理联系人电话的Uri

ContactsContract.CommonDataKinds.Email.CONTENT_URI  ---------------     管理联系人的E-mail 的Uri


四.Contentvalues主要用于数据库存储的,一般都是对基本类型进行存储的。

五.读写手机上联系人的信息时的权限                                      

   ---------------------------<uses-permission  android:name = "android.permission.READ_CONTACTS">

---------------------------<uses-permission  android:name = "android.permission.WRITE_CONTACTS">

六.RawContacts代表一个联系人



实例代码

//创建一个空的contentValues
    ContentValues values = new ContentValues();
    //向RawContacts.CONTENT_URI执行一个空值插入
    //目的是获取系统返回的rawContactId
    Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values);
    
    long rawContactId = ContentUris.parseId(rawContactUri);
    values.clear();

    values.put(Data.RAW_CONTACT_ID, rawContactId);
    //设置内容类型
    values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
    //设置联系人名字
    values.put(StructuredName.GIVEN_NAME,editname);
    //向联系人Uri添加联系人的名字
    getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI
      , values);
    values.clear();






0 0