使用ContentResolver 管理联系人:
(一)、 使用ContentResolver 操作数据的步骤:
1、调用Context的getContentResolver()方法获得ContentResolver 对象;
2、调用使用ContentResolver 的insert()、delete()、update()、query()方法操作数据。
Uri insert(Uri uri, ContentValues values)
int delete(Uri uri, String where, String[] whereArgs)
int update(Uri uri, ContentValues values, String where, String[] whereArgs)
Cursor query(Uri uri, String[] projection, String where, String[] whereArgs, String sortOrder)
参数解释:
String where:表示带有占位符的where子句组成的字符串;
String[] whereArgs:表示替换where参数中占位符后的数据组成的字符串数组;
String sortOrder:表示select语句中的order by子句组成的字符串;
String[] projection:表示select语句中需要查询的所有的字段组成的字符串数组。
ContentValues values:是由数据库中表字段和往该字段中放置的数据所组成的键值对对象。
【备注:】以上四个方法的参数分别是2、3、4、5个。
(二)、 联系人管理中ContentProvider的几个Uri:
1、联系人的Uri==> content://com.android.contacts/contacts 和 content://com.android.contacts/raw_contacts
2、电话号码的Uri==> content://com.android.contacts/data/phones
3、EMAIL的URI==> content://com.android.contacts/data/emails
不过为了方便记忆,系统中提供了以下常量来替代以上的Uri字符串。
Uri CONTACTS_URI = ContactsContract.Contacts.CONTENT_URI;
Uri PHONE_URI = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
Uri EMAIL_URI = ContactsContract.CommonDataKinds.Email.CONTENT_URI;
(三)、示例代码1——查看通讯录中的联系人姓名、id、电话、Email等信息:
publicstatic List