android通讯录实现数据的增删改查
时间: 2024-10-12 19:17:39 浏览: 28
Android通讯录的增删改查
在Android中,访问和操作用户通讯录通常涉及到ContentProvider。ContentProvider是一个统一的数据存储和检索API,允许应用读取、写入系统级别的数据,比如联系人信息。以下是基本的增删改查操作:
**添加联系人(Insert)**:
```java
Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
ContentValues contentValues = new ContentValues();
contentValues.put(ContactsContract.CommonDataKinds.Phone.NUMBER, "1234567890");
contentValues.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE);
Uri newContact = getContentResolver().insert(uri, contentValues);
```
**删除联系人(Delete)**:
```java
Uri contactUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, contactId);
getContentResolver().delete(contactUri, null, null);
```
**修改联系人(Update)**:
```java
Uri contactUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, contactId);
ContentValues updatedValues = new ContentValues();
updatedValues.put(ContactsContract.CommonDataKinds.Phone.NUMBER, "新的电话号码");
getContentResolver().update(contactUri, updatedValues, null, null);
```
**查询联系人(Read)**:
```java
Cursor cursor = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
projection, // 查询字段
selection, // 查询条件
selectionArgs, // 条件参数
sortOrder // 排序方式
);
// 遍历cursor获取联系人信息...
cursor.close();
```
注意:实际操作时需要处理权限请求、异常以及适当地释放资源。
阅读全文