对应着读联系人,把数据写进去,市场上的社交类应用经常会有这样的功能
向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"},1)">null,1)">null); cursor.movetoLast(); int lastID=cursor.getInt(0int newID=lastID+1; 插入一个联系人ID ContentValues values=new ContentValues(); values.put("contact_ID",newID); resolver.insert(uri,values); 插入电话数据 ContentValues dataValues= ContentValues(); dataValues.put("raw_contact_ID"); dataValues.put("data1","110"); resolver.insert(dataUri,dataValues); 插入姓名数据 ContentValues data1Values= ContentValues(); data1Values.put("raw_contact_ID"); data1Values.put("data1","police1"this,"写联系人成功",0).show(); }
总结
以上是内存溢出为你收集整理的[android] 保存联系人到系统通讯录全部内容,希望文章能够帮你解决[android] 保存联系人到系统通讯录所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)