Android SDK2.0 通讯录(二)

2014-11-24 09:19:52 · 作者: · 浏览: 2
e_id 字段,用于描述此数据的类型,电话号码?Email?....


values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE); // 注意查看第二个参数的常量值


values.put(StructuredName.GIVEN_NAME, "文白菜"); // 这个名字真好听


this.getContext().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);


//往data表入电话数据


values.clear();


values.put(Data.RAW_CONTACT_ID, rawContactId);


values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);


values.put(Phone.NUMBER, "15101689230");


values.put(Phone.TYPE, Phone.TYPE_MOBILE);


this.getContext().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);


//往data表入Email数据


values.clear();


values.put(Data.RAW_CONTACT_ID, rawContactId);


values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);


values.put(Email.DATA, "wenlin56@sina.com");


values.put(Email.TYPE, Email.TYPE_WORK);


this.getContext().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);


}


public void testSave() throws Throwable{


//文档位置:reference/android/provider/ContactsContract.RawContacts.html


ArrayList ops = new ArrayList();


int rawContactInsertIndex = ops.size();


ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)


.withValue(RawContacts.ACCOUNT_TYPE, null)


.withValue(RawContacts.ACCOUNT_NAME, null)


.build());


//文档位置:reference/android/provider/ContactsContract.Data.html


ops.add(ContentProviderOperation.newInsert(android.provider.ContactsContract.Data.CONTENT_URI)


.withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex)


.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)


.withValue(StructuredName.GIVEN_NAME, "文萝卜")


.build());


// 更新手机号码:Data.RAW_CONTACT_ID 获取上一条语句插入联系人时产生的 ID


ops.add(ContentProviderOperation.newInsert(android.provider.ContactsContract.Data.CONTENT_URI)


.withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex)


.withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE)


.withValue(Phone.NUMBER, "15101689231") // "data1"


.withValue(Phone.TYPE, Phone.TYPE_MOBILE)


.withValue(Phone.LABEL, "手机号")


.build());


ops.add(ContentProviderOperation.newInsert(android.provider.ContactsContract.Data.CONTENT_URI)


.withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex)


.withValue(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE)


.withValue(Email.DATA, "wenlin56@yahoo.cn")


.withValue(Email.TYPE, Email.TYPE_WORK)


.build());


ContentProviderResult[] results = this.getContext().getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);


for(ContentProviderResult result : results){


Log.i(TAG, result.uri.toString());


}


}


}