查找联系人信息

来源:互联网 发布:英国萌妹子淘宝网购 编辑:程序博客网 时间:2024/06/05 12:17
查找联系人信息
1.联系人系统存在com.android.providers.contacts \ databases\ contacts2.db 这个数据库中
2.系统通过contentprovider  操作联系人数据 其实操作的是如下三张表 
data 存放数据的具体信息
mimetypes  指定数据所对应的类型 phone im email
raw_contacts 表 存放联系人的 id的表 
3.查看源码.找到联系人的Uri  "content://com.android.contacts/contacts"
4.创建一个类.
Uri uri = Uri.parse("content://com.android.contacts/contacts/contact/1/data");
Cursor cursor = getContext().getContentResolver().query(uri,null,"raw_contact_id=?",new String[]{"1"},null);
第一个参数Uri
第二个参数查询那一列,null为查询所以列
第三个参数查询条件
第四个参数查询条件赋值
第五个参数是排序条件.null为不排序
/*if(cursor.moveToFirst()){
String[] columns = cursor.getColumnName(); //获取所有字段
for(int i=0;i<columns.length;i++){
System.out.println(columns[i]);
}
获取所有字段后,找到名字所对应的列名.然后获取名字
cursor.getString(cursor.getColumnIndex("display_name"));
*/

while(cursor.moveToNext()){
if("vnd.android.cursor.item/eamil_v2".equals(cursor.getSting(cursor.getColumnIndex("mimetype")))){
System.out.println("email为"+cursor.getString(cursor.getColumnIndex("data1"));
}
if("vnd.android.cursor.item/phone_v2".equals(cursor.getSting(cursor.getColumnIndex("mimetype")))){
System.out.println("电话为"+cursor.getString(cursor.getColumnIndex("data1"));
}
if("vnd.android.cursor.item/name".equals(cursor.getSting(cursor.getColumnIndex("mimetype")))){
System.out.println("姓名为"+cursor.getString(cursor.getColumnIndex("data1"));
}
}

原创粉丝点击