Android系统架构的最上层是应用程序层,其上包含各种与用户相关的应用程序。这些应用程序基本都是由Java语言编写的,包括系统桌面、电子邮件客户端、SMS短信、地图、电源管理、电话、联系人等系统应用程序,以及各种第三方应用程序。基于应用程序层,对手机联系人这一模块进行开发。
下面我将详细叙述获取手机联系人的步骤:
1. 首先,我们需要新建一个类PhoneInfo,用于通讯录的数据封装,定义字符串,并写好构造函数。
public class PhoneInfo {
private String name;
private String number;
private String sortKey;
private int id;
public PhoneInfo(String name, String number,String sortKey, int id) {
this.name = name;
this.number = number;
this.sortKey = sortKey;
this.id = id;
}
2.然后,主要是通过 context.getContentResolver()方法来获得通讯录 ,这个方法返回一个游标的数据类型,通过moveToNext()方法来获取所有的手机号码信息,将获得的手机号码信息放入列表中。还用到了sort_key()方法对获取到的通讯录信息进行了排序
GetPhoneNumberFromMobile {
private List<PhoneInfo> list;
public List<PhoneInfo> getPhoneNumberFromMobile(Context context) {
// TODO Auto-generated constructor stub
list = new ArrayList<PhoneInfo>();
Cursor cursor = context.getContentResolver().query(Phone.CONTENT_URI,
new String[] { "display_name", "sort_key", "contact_id",
"data1" }, null, null, null);
// moveToNext方法返回的是一个boolean类型的数据
while (cursor.moveToNext()) {
//读取通讯录的姓名
String name = cursor.getString(cursor
.getColumnIndex(

本文详细介绍如何在Android系统中读取手机联系人信息。从创建数据封装类开始,逐步介绍通过ContentResolver获取联系人数据的方法,展示了如何利用Cursor遍历联系人列表并将数据展示在客户端界面上。
最低0.47元/天 解锁文章
2104





