本文实例讲述了Android编程操作手机通讯录的方法。分享给大家供大家参考,具体如下:

手机通讯录的操作是经常被用到的,例如添加联系人,删除联系人或者取得联系人信息。类似的操作还有收藏夹的操作,下面就针对通讯录的操作来做个小例子。同样的这次也会使用到内容提供者的知识。
1. 要操作通信录就要得到授权,也就是读或者写通讯录的权力。这里也需要使用Junit
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.lxh.contact" android:versionCode="1" android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="android.test.runner" />
</application>
<uses-sdk android:minSdkVersion="8" />
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="org.lxh.contact" android:label="TestforMyApp" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
</manifest>
2. 开始取得通讯录里的内容,主要就是名称,号码,邮箱
package org.lxh.contact;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.provider.ContactsContract;
import android.test.AndroidTestCase;
import android.util.Log;
public class TestContact extends AndroidTestCase{ //junit测试类
public void testFind() throws Throwable{
Uri uri=ContactsContract.Contacts.CONTENT_URI; //通讯录的uri,这是推荐的常量
ContentResolver resol=this.getContext().getContentResolver();
Cursor cursor=resol.query(uri, null, null, null, null);
//取得通讯录里的内容
while(cursor.moveToNext()){
StringBuffer buf=new StringBuffer(); //实例化一个可变字符串StringBuffer
//取得联系人id,每个条目都有一个唯一的id(主键)
String contactId=cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
//取得联系人的显示名称
String name=cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
buf.append("id:"+contactId).append(",name:"+name);
//取得联系人的号码
Cursor phone=resol.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+" = "+contactId,null,null);
while(phone.moveToNext()){
String phonum=phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
buf.append(phonum);
}
phone.close();
//取得联系人的email
Cursor email=resol.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI ,null,ContactsContract.CommonDataKinds.Email.CONTACT_ID+" = "+contactId,null,null);
while(email.moveToNext()){
String mail=email.getString(email.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
buf.append(",mail:"+mail);
}
email.close();
Log.i("TestContact",buf.toString());
}
cursor.close();
}
}
看这个查询过程可以知道,其实这里有2张表,一张存着id和name,一张存着号码,邮箱之类的信息。id为主键,后面的表用它作为外键。至于删除和其他操作你们可以自己看文档。我这里就不说了。
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android布局layout技巧总结》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
# Android
# 操作
# 手机
# 通讯录
# android如何取得本地通讯录的头像的原图的实现代码
# Android读取手机通讯录联系人到自己项目
# Android Loader的使用以及手机通讯录的获取方法
# Android仿手机通讯录地址选择功能
# android仿微信通讯录搜索示例(匹配拼音
# 字母
# 索引位置)
# Android开发之自定义view实现通讯录列表A~Z字母提示效果【附demo源码下载】
# Android个人手机通讯录开发详解
# 主键
# 进阶
# 这是
# 操作技巧
# 都有
# 相关内容
# 就不
# 说了
# 感兴趣
# 收藏夹
# 给大家
# 做个
# 会使
# 更多关于
# 用它
# 所述
# 程序设计
# 文档
# 讲述了
# drawable
相关文章:
如何通过可视化优化提升建站效果?
视频网站制作教程,怎么样制作优酷网的小视频?
如何在万网ECS上快速搭建专属网站?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
如何在景安云服务器上绑定域名并配置虚拟主机?
盐城做公司网站,江苏电子版退休证办理流程?
黑客如何利用漏洞与弱口令入侵网站服务器?
c# 在高并发场景下,委托和接口调用的性能对比
网页设计与网站制作内容,怎样注册网站?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
,南京靠谱的征婚网站?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
如何使用Golang安装API文档生成工具_快速生成接口文档
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
已有域名能否直接搭建网站?
定制建站流程解析:需求评估与SEO优化功能开发指南
建站之星导航配置指南:自助建站与SEO优化全解析
企业微网站怎么做,公司网站和公众号有什么区别?
如何通过商城自助建站源码实现零基础高效建站?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
官网建站费用明细查询_企业建站套餐价格及收费标准指南
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
如何在宝塔面板中创建新站点?
全景视频制作网站有哪些,全景图怎么做成网页?
如何快速搭建安全的FTP站点?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
制作网站的公司有哪些,做一个公司网站要多少钱?
建站之星安全性能如何?防护体系能否抵御黑客入侵?
教程网站设计制作软件,怎么创建自己的一个网站?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
长沙做网站要多少钱,长沙国安网络怎么样?
婚礼视频制作网站,学习*后期制作的网站有哪些?
如何通过老薛主机一键快速建站?
高性价比服务器租赁——企业级配置与24小时运维服务
如何通过FTP空间快速搭建安全高效网站?
如何在IIS中配置站点IP、端口及主机头?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
建站之星安装后如何自定义网站颜色与字体?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
定制建站策划方案_专业建站与网站建设方案一站式指南
如何选择高性价比服务器搭建个人网站?
如何在服务器上配置二级域名建站?
如何在局域网内绑定自建网站域名?
建站主机选购指南与交易推荐:核心配置解析
建站之星在线客服如何快速接入解答?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
黑客入侵网站服务器的常见手法有哪些?
如何选择美橙互联多站合一建站方案?
*请认真填写需求信息,我们会在24小时内与您取得联系。