//读取联系人
package com.mcnk.readcontect;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
/**
*
* @author little_huang
* @Describe 读取系统联系人信息
*
*/
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void click(View view) {
ContentResolver resolver = getContentResolver();
Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
Uri dataUri = Uri.parse("content://com.android.contacts/data");
Cursor cursor = resolver.query(uri, null, null, null, null);
while (cursor.moveToNext()) {
String id = cursor.getString(cursor.getColumnIndex("contact_id"));
Cursor dataCursor = resolver.query(dataUri, null, "raw_contact_id=?", new String[] { id }, null);
while (dataCursor.moveToNext()) {
String data1 = dataCursor.getString(dataCursor.getColumnIndex("data1"));
String mimetype = dataCursor.getString(dataCursor.getColumnIndex("mimetype"));
System.out.println(data1 + " " + mimetype);
}
dataCursor.close();
System.out.println("---------------------");
}
cursor.close();
}
}
//存取联系人
package com.mcnk.writecontact;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void click(View view) {
// 获取电话本最后一条记录的ID 然后在raw_contacts表里新插入的一条联系人ID + 1
ContentResolver resolver = getContentResolver();
Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
Uri dataUri = Uri.parse("content://com.android.contacts/data");
ContentValues values = new ContentValues();
Cursor cursor = resolver.query(uri, new String[] { "_id" }, null, null, null);
if (cursor.moveToLast()) {
int id = cursor.getInt(0);
int newid = id + 1;
values.put("contact_id", newid);
resolver.insert(uri, values);
// 使用相同的raw_contacts_id向data表里面插入数据
ContentValues phonevalues = new ContentValues();
phonevalues.put("data1", "88888888");
phonevalues.put("mimetype", "vnd.android.cursor.item/phone_v2");
phonevalues.put("raw_contact_id", newid);
resolver.insert(dataUri, phonevalues);
ContentValues namevalues = new ContentValues();
namevalues.put("data1", "luoting");
namevalues.put("mimetype", "vnd.android.cursor.item/name");
namevalues.put("raw_contact_id", newid);
resolver.insert(dataUri, namevalues);
ContentValues emailvalues = new ContentValues();
emailvalues.put("data1", "little_huang@163.com");
emailvalues.put("mimetype", "vnd.android.cursor.item/email_v2");
emailvalues.put("raw_contact_id", newid);
resolver.insert(dataUri, emailvalues);
}
cursor.close();
Toast.makeText(this, "联系人保存成功", 0).show();
}
}