Android 联系人操作

在Android应用程序中,联系人管理是一项常见的功能。用户可能需要查看、添加、编辑或删除联系人信息。本文将介绍如何在Android应用中进行联系人操作,包括读取联系人列表、添加新联系人、编辑联系人信息和删除联系人。

读取联系人列表

要读取设备上的联系人列表,可以使用Android的ContactsContract类。以下是一个简单的示例代码,演示如何读取联系人列表并在日志中打印输出。

// 查询联系人列表
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (cursor != null && cursor.getCount() > 0) {
    while (cursor.moveToNext()) {
        String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
        Log.d("Contact", "Name: " + name);
    }
}

添加新联系人

要添加新联系人,可以使用Android的ContactsContract.RawContacts类。以下是一个示例代码,演示如何添加新联系人到设备中。

// 创建一个新的RawContact
ContentValues values = new ContentValues();
Uri rawContactUri = getContentResolver().insert(ContactsContract.RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);

// 添加联系人姓名
values.clear();
values.put(ContactsContract.RawContacts.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.RawContacts.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, "John Doe");
getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);

编辑联系人信息

要编辑联系人信息,可以使用Android的ContactsContract.Data类。以下是一个示例代码,演示如何编辑联系人的电话号码。

// 更新联系人电话号码
String selection = ContactsContract.Data.CONTACT_ID + " = ? AND " + ContactsContract.Data.MIMETYPE + " = ?";
String[] selectionArgs = new String[]{contactId, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE};

values.clear();
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, "1234567890");
getContentResolver().update(ContactsContract.Data.CONTENT_URI, values, selection, selectionArgs);

删除联系人

要删除联系人,可以使用Android的ContactsContract.RawContacts类。以下是一个示例代码,演示如何删除指定联系人。

// 删除联系人
String selection = ContactsContract.RawContacts.CONTACT_ID + " = ?";
String[] selectionArgs = new String[]{contactId};
getContentResolver().delete(ContactsContract.RawContacts.CONTENT_URI, selection, selectionArgs);

通过以上示例代码,您可以实现在Android应用程序中进行联系人操作的基本功能。记得在使用联系人操作功能时,要遵循Android平台的相关规范和权限要求,以确保应用程序的稳定性和安全性。


journey
    title Android 联系人操作示例
    section 读取联系人列表
        - 查询联系人列表
        - 遍历联系人信息
    section 添加新联系人
        - 创建RawContact
        - 添加联系人姓名
    section 编辑联系人信息
        - 更新联系人电话号码
    section 删除联系人
        - 删除指定联系人
操作 代码示例
读取联系人列表 Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
添加新联系人 Uri rawContactUri = getContentResolver().insert(ContactsContract.RawContacts.CONTENT_URI, values);
编辑联系人信息 getContentResolver().update(ContactsContract.Data.CONTENT_URI, values, selection, selectionArgs);
删除联系人 getContentResolver().delete(ContactsContract.RawContacts.CONTENT_URI, selection, selectionArgs);

通过以上了解,希望您能够成功实现在Android应用中进行联系人操作的功能,并为用户提供更好的联系人管理体验。如果在使用过程中遇到问题,可以查阅Android官方文档或咨询相关开发者社区。祝您编程愉快!