[android] 保存联系人到系统通讯录
2016-03-15 22:09
597 查看
对应着读联系人,把数据写进去,市场上的社交类应用经常会有这样的功能
向raw_contacts表中添加一个id
向data表里面添加对应的数据
获取ContentResolver对象,通过getContentResolver()方法
调用ContentResolver对象的query()方法,查询raw_contacts表,得到Cursor对象
调用Cursor对象的moveToLast()方法,游标移动到最后一行
获取到最后一行记录的contact_id,新的id就是它加上1
调用ContentResolver对象的insert(uri,values)方法,参数:values是ContentValues对象把新的id put()进去
获取到ContentResolver对象后调用insert(uri,values)方法,参数:Uri应该是data表的Uri规则,ContentValues对象的,put(key,value),”raw_contact_id”=>上面的id,”mimetype”=>”vnd.android.cursor.item/phone_v2”,”data1”=>”电话号码”
然后添加姓名,和上面一样只不过在ContentValues对象里面,
Put “mimietype”=>”vnd.android.cursor.item/name”键值对
向raw_contacts表中添加一个id
向data表里面添加对应的数据
获取ContentResolver对象,通过getContentResolver()方法
调用ContentResolver对象的query()方法,查询raw_contacts表,得到Cursor对象
调用Cursor对象的moveToLast()方法,游标移动到最后一行
获取到最后一行记录的contact_id,新的id就是它加上1
调用ContentResolver对象的insert(uri,values)方法,参数:values是ContentValues对象把新的id put()进去
获取到ContentResolver对象后调用insert(uri,values)方法,参数:Uri应该是data表的Uri规则,ContentValues对象的,put(key,value),”raw_contact_id”=>上面的id,”mimetype”=>”vnd.android.cursor.item/phone_v2”,”data1”=>”电话号码”
然后添加姓名,和上面一样只不过在ContentValues对象里面,
Put “mimietype”=>”vnd.android.cursor.item/name”键值对
public void writeContacts(View v){ ContentResolver resolver=getContentResolver(); Uri uri=Uri.parse("content://com.android.contacts/raw_contacts"); Uri dataUri=Uri.parse("content://com.android.contacts/data"); //查出最后一个id Cursor cursor=resolver.query(uri, new String[]{"_id"}, null, null, null); cursor.moveToLast(); int lastId=cursor.getInt(0); int newId=lastId+1; //插入一个联系人id ContentValues values=new ContentValues(); values.put("contact_id", newId); resolver.insert(uri, values); //插入电话数据 ContentValues dataValues=new ContentValues(); dataValues.put("raw_contact_id", newId); dataValues.put("mimetype", "vnd.android.cursor.item/phone_v2"); dataValues.put("data1", "110"); resolver.insert(dataUri, dataValues); //插入姓名数据 ContentValues data1Values=new ContentValues(); data1Values.put("raw_contact_id", newId); data1Values.put("mimetype", "vnd.android.cursor.item/name"); data1Values.put("data1", "police1"); resolver.insert(dataUri, data1Values); Toast.makeText(this, "写联系人成功", 0).show(); }
相关文章推荐
- android之view 属性详解
- Android的事件分发机制(一)
- Android课程---手机尺寸相关的概念 +尺寸单位+关于颜色
- android六个开源的框架
- android webView调用js函数的几种方法
- Android课程---寄存器与存储器的区别
- Android 时间轴实现(RecycleView更高效)
- Android课程---环境配置很重要
- [置顶] Android应用开发必备的20条技能
- Android自定义控件模仿iOS滑块SwitchButton
- Android课程---第一课
- Android图片缓存加强版(LruCache+DiskLruCache+软引用)
- android程序内存泄漏的原因和解决办法
- Android 2.2 API ---------ImageButton
- 手机震动的节奏(Vibrator对象及周期运用)
- iOS,Android,WP, .NET通用AES加密算法
- android学习日常3-15 关于单选框附加监听的复习
- Android 图片压缩
- 介绍Text-To-Speech在Android中的用法
- android山寨卫士开发笔记-001