package com.itheima74.Operatecontacts;import android.content.ContentResolver;import android.content.ContentValues;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Toast;/** * 读写系统联系人 */public class MainActivity extends AppCompatActivity { @Override PRotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } // 点击按钮,读取系统联系人 public void click1(View view) { // 1.先查raw_contacts表_id列查询共有几条联系人 ContentResolver contentResolver = getContentResolver(); Cursor cursor_raw_contacts = contentResolver.query(Uri.parse("content://com.android.contacts/raw_contacts"), new String[]{"_id"}, null, null, null); if (cursor_raw_contacts != null && cursor_raw_contacts.getCount() > 0) { while (cursor_raw_contacts.moveToNext()) { ContactsBean contactsBean = new ContactsBean(); String _id = cursor_raw_contacts.getString(0); //2.再根据raw_contact_id(_id)查data表data1和mimetype列 Cursor cursor_data = contentResolver.query(Uri.parse("content://com.android.contacts/data"), new String[]{"data1", "mimetype"}, "raw_contact_id=?", new String[]{_id}, null); if (cursor_data != null && cursor_data.getCount() > 0) { while (cursor_data.moveToNext()) { String data1 = cursor_data.getString(0); String mimetype = cursor_data.getString(1); if ("vnd.android.cursor.item/name".equals(mimetype)) { contactsBean.name = data1; } else if ("vnd.android.cursor.item/phone_v2".equals(mimetype)) { contactsBean.phone = data1; } else if ("vnd.android.cursor.item/email_v2".equals(mimetype)) { contactsBean.email = data1; } } System.out.println(contactsBean); cursor_data.close(); } } cursor_raw_contacts.close(); } } // 点击按钮,插入一条联系人 public void click2(View view) { // 1.先查raw_contacts表_id列查询共有几条联系人,在原有的基础上_id加1 ContentResolver contentResolver = getContentResolver(); Cursor cursor_raw_contacts = contentResolver.query(Uri.parse("content://com.android.contacts/raw_contacts"), new String[]{"_id"}, null, null, null); int count = 0;// 定义一个变量,保存联系人个数 if (cursor_raw_contacts != null && cursor_raw_contacts.getCount() > 0) { while (cursor_raw_contacts.moveToNext()) { count++; } cursor_raw_contacts.close(); } count = count + 1;// 在原有的基础上加1 // 插入一条数据 ContentValues values = new ContentValues(); values.put("_id", count); contentResolver.insert(Uri.parse("content://com.android.contacts/raw_contacts"), values); //2. 在data表中插入相应的数据 ContentValues nameValues = new ContentValues(); nameValues.put("raw_contact_id", count); nameValues.put("mimetype", "vnd.android.cursor.item/name"); nameValues.put("data1", "张三"); contentResolver.insert(Uri.parse("content://com.android.contacts/data"), nameValues); ContentValues phoneValues = new ContentValues(); phoneValues.put("raw_contact_id", count); phoneValues.put("mimetype", "vnd.android.cursor.item/phone_v2"); phoneValues.put("data1", "120"); contentResolver.insert(Uri.parse("content://com.android.contacts/data"), phoneValues); ContentValues emailValues = new ContentValues(); emailValues.put("raw_contact_id", count); emailValues.put("mimetype", "vnd.android.cursor.item/email_v2"); emailValues.put("data1", "120@QQ.com"); contentResolver.insert(Uri.parse("content://com.android.contacts/data"), emailValues); Toast.makeText(this, "插入成功", Toast.LENGTH_SHORT).show(); }}package com.itheima74.operatecontacts;/** * Created by My on 2017/2/25. */class ContactsBean { String name; String phone; String email; @Override public String toString() { return "ContactsBean{" + "name='" + name + '/'' + ", phone='" + phone + '/'' + ", email='" + email + '/'' + '}'; }}
新闻热点
疑难解答