一个安插联系人的小程序,求解释一行代码。

一个插入联系人的小程序,求解释一行代码。。
add.setOnClickListener(new OnClickListener()
{
@TargetApi(Build.VERSION_CODES.ECLAIR)
@Override
public void onClick(View v)
{
// 获取程序界面中的3个文本框
String name = ((EditText)findViewById(R.id.name))
.getText().toString();
String phone = ((EditText)findViewById(R.id.phone))
.getText().toString();
String email = ((EditText)findViewById(R.id.email))
.getText().toString();
// 创建一个空的ContentValues
ContentValues values = new ContentValues();
// 向RawContacts.CONTENT_URI执行一个空值插入,
// 目的是获取系统返回的rawContactId 
Uri rawContactUri = getContentResolver()
.insert(RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
 
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId); 
// 设置内容类型
values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
// 设置联系人名字
values.put(StructuredName.GIVEN_NAME, name);
// 向联系人URI添加联系人名字
getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI, values);
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
// 设置联系人的电话号码
values.put(Phone.NUMBER, phone);
// 设置电话类型
values.put(Phone.TYPE, Phone.TYPE_MOBILE);
// 向联系人电话号码URI添加电话号码
getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI, values);
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
// 设置联系人的Email地址
values.put(Email.DATA, email);
// 设置该电子邮件的类型
values.put(Email.TYPE, Email.TYPE_WORK);
// 向联系人Email URI添加Email数据
getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI, values);
Toast.makeText(ContactProviderTest.this
, "联系人数据添加成功" , 8000)
.show();
}
});
}



其中Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
values.put(Data.RAW_CONTACT_ID, rawContactId); 
// 设置内容类型
values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
// 设置联系人名字
values.put(StructuredName.GIVEN_NAME, name);
// 向联系人URI添加联系人名字
getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI, values);
上面的那些参数什么意思?重点是RawContacts.CONTENT_URI什么意思

------解决方案--------------------
public static final Uri CONTENT_URI 
Since: API Level 5 
The content:// style URI for this table, which requests a directory of raw contact rows matching the selection criteria.

Android API当中的说明。

翻译:这种风格的URI适用于要求把相关行组成的一个目录文件夹去匹配所选择的标准的那种表