简单的读取 存储联系人的DEMO~

//读取联系人 

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();
}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值