android电话薄contacts操作增 删改 收藏.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:5 大小:31KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

android电话薄contacts操作增 删改 收藏.doc

android电话薄contacts操作增删改收藏.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

电话薄contacts操作增删改收藏本文章转自http://www.javaeye.com/topic/253346,感谢人兄的奉献精神电话薄在实际的开发中还是很常见的,在论坛中经常有人问,回答的也是事实而非,今天有空做点记录吧。电话薄的开发无非就是对联系方式的增、删、改、查四种操作,这里可要注意了,在Android里面给用户的权限更大,可以修改和删除已有的联系人的信息,与J2mePIM不一样哦。在Android系统里面正对联系人的操作是被划分在ContentProviders里面,用做好类似的开发,需要了解的知识:Uri(不是Url)、Android的权限控制、Android的联系方是表的字段等等。有了上面的知识其实就可以开发增删改查的功能了,在网络上面看的基本只有增和查,在这里重点也在更新和删除,注意在做涉及到网系统读写的操作的时候,要在你的AndroidMainfest.xml里面把权限打开:<uses-permissionandroid:name="android.permission.WRITE_CONTACTS"/><uses-permissionandroid:name="android.permission.READ_CONTACTS"/>这里读和写的权限都要打开,与我们一般的思路有点不一样,这里读写权限是分开的,要是还想打电话就要也要把其对应的权限打开<uses-permissionandroid:name="android.permission.CALL_PHONE"/>这些都是一些很细节性的基础东西,对于初学者很有必要注意哦,有的时候这些简单的基础东西没有注意可能会然他你死活找不到bug所在。废话少说,下面贴点代码:<1>添加:viewplaincopytoclipboardprint?publicbooleaninsert(Stringname,StringphoneNum,Stringemail,Stringqq){if(name==null){Log.e(TAG,"TheNameisnotallownull!!");returnfalse;}try{ContentResolvercontentResolver=mContext.getContentResolver();ContentValuesvalues=newContentValues();UriphoneUri=null;//添加姓名values.put(Contacts.People.NAME,name);//映射关系:1=新的联系方式加入favorites,0=新的联系方式不是加入favoritesvalues.put(Contacts.People.STARRED,1);Uriuri=Contacts.People.createPersonInMyContactsGroup(contentResolver,values);//添加电话号码//最好的办法是先得到People表的Uri,然后使用Uri的静态方法withAppendedPath来获取一个新的Uri作为我们新要插入数据的Uriif(phoneNum!=null&&!phoneNum.trim().equals("")){phoneUri=Uri.withAppendedPath(uri,Contacts.People.Phones.CONTENT_DIRECTORY);values.clear();values.put(Contacts.Phones.TYPE,Contacts.Phones.NUMBER);values.put(Contacts.Phones.NUMBER,phoneNum);contentResolver.insert(phoneUri,values);}if(email!=null&&!email.trim().equals("")){//添加EmailUriemailUri=Uri.withAppendedPath(uri,Contacts.People.ContactMethods.CONTENT_DIRECTORY);values.clear();//ContactMethods.KIND是用来区分像email,im等等不同联系方式values.put(Contacts.ContactMethods.KIND,Contacts.KIND_EMAIL);values.put(Contacts.ContactMethods.DATA,email);values.put(Contacts.ContactMethods.TYPE,Contac