查询联系人

来源:互联网 发布:深圳关键词优化公司 编辑:程序博客网 时间:2024/04/28 19:21
package com.itheima.contact;import java.util.ArrayList;import java.util.List;import android.content.ContentResolver;import android.content.ContentUris;import android.content.ContentValues;import android.database.Cursor;import android.net.Uri;import android.test.AndroidTestCase;public class ContactTest extends AndroidTestCase {private Uri rawContactsUri = Uri.parse("content://com.android.contacts/raw_contacts");private Uri dataUri = Uri.parse("content://com.android.contacts/data");public void testRead() {ContentResolver resolver = getContext().getContentResolver();List<Contact> list = new ArrayList<Contact>();// 查询raw_contacts表, 得到所有的id, 每一个id代表一个联系人Cursor rawContactsCursor = resolver.query(rawContactsUri, new String[] { "_id" }, null, null, null);while (rawContactsCursor.moveToNext()) {int id = rawContactsCursor.getInt(0);Contact c = new Contact();list.add(c);// 用每个id作为条件, 查询data表//这里如果写mimetype_id 会报异常 java.lang.IllegalArgumentException: Invalid column mimetype_id  imetype_id 没有这一列 mimetype 关联好的Cursor dataCursor = resolver.query(dataUri, new String[]{"mimetype", "data1"}, "raw_contact_id=?", new String[] { id + "" }, null);while (dataCursor.moveToNext()) {String mimetype = dataCursor.getString(0);String data1 = dataCursor.getString(1);if (mimetype.equals("vnd.android.cursor.item/name")) {c.setName(data1);} else if ("vnd.android.cursor.item/phone_v2".equals(mimetype)) {c.setPhone(data1);} else if ("vnd.android.cursor.item/email_v2".equals(mimetype)) {c.setEmail(data1);}}}for (Contact contact : list) {System.out.println(contact);}}public void testWriteContact() {ContentResolver resolver = getContext().getContentResolver();ContentValues values = new ContentValues();// 先向raw_contacts表中写一个id, 自动生成Uri resultUri = resolver.insert(rawContactsUri, values);long id = ContentUris.parseId(resultUri);// 然后用这个id向data表中写3条数据values.put("raw_contact_id", id);values.put("mimetype", "vnd.android.cursor.item/name");values.put("data1", "LYD");resolver.insert(dataUri, values);values.put("mimetype", "vnd.android.cursor.item/phone_v2");values.put("data1", "18801099999");resolver.insert(dataUri, values);values.put("mimetype", "vnd.android.cursor.item/email_v2");values.put("data1", "lyd@itcast.cn");resolver.insert(dataUri, values);}}

原创粉丝点击