登录 立即注册
安币:

查看: 265|回复: 4

浅析Android手机卫士读取联系人,android手机卫士

[复制链接]

429

主题

886

帖子

1920

安币

手工艺人

发表于 2018-1-11 15:36:15 | 显示全部楼层 |阅读模式

        推荐阅读:

        浅析android手机卫士sim卡绑定

        深入浅析android手机卫士保存密码时进行md5加密

        详解android 手机卫士设置向导页面

        浅析android手机卫士关闭自动更新

        浅析android手机卫士自定义控件的属性

        获取contentresolver内容解析器对象,通过getcontentresolver()方法

        调用contentresolver对象的query()方法,得到raw_contacts表里面的数据,得到cursor对象

        参数:uri对象,字段string数组

        获取uri对象,通过uri.parse(“content://com.android.contacts/raw_contacts”)方法,

        while循环cursor对象,条件是cursor对象movetonext()方法为真

        调用cursor对象的getstring()方法,参数是索引

        判断不为null,查询另一张表

        调用contentresolver对象的query()方法,得到data表里面的数据,得到cursor对象

        参数:uri对象,字段string[]数组(data1,mimetype),条件string,条件值string[]数组(contact_id)

        uri对象是uri.parse(“content://com.android.contacts/data”)

        循环和上面一样

        姓名对应的类型是vnd.android.cursor.item/name

        电话对应的类型是vnd.android.cursor.item/phone_v2

        需要权限,android.permisssion.read_contacts

        调用listview对象的setadapter()方法,分配数据到视图,参数是adapter对象

        通过new simpleadapter()来获得adapter对象

        参数:上下文,数据集合,布局资源,字段string[]数组,控件int[] id数组

[Java] 查看源文件 复制代码
package com.qingguow.mobilesafe.utils;
import java.util.arraylist;
import java.util.hashmap;
import java.util.list;
import java.util.map;
import android.content.contentresolver;
import android.content.context;
import android.database.cursor;
import android.net.uri;
/**
* 读取手机联系人
* @author taoshihan
*
*/
public class phonecontactsutil {
public static list<map<string,string>> getcontacts(context context){
contentresolver resolver=context.getcontentresolver();
uri uri=uri.parse("content://com.android.contacts/raw_contacts");
uri datauri=uri.parse("content://com.android.contacts/data");
list<map<string,string>> contacts=new arraylist<map<string,string>>();
//循环联系人表
cursor cursor=resolver.query(uri, new string[]{"contact_id"}, null, null, null);
while(cursor.movetonext()){
string id=cursor.getstring(cursor.getcolumnindex("contact_id"));
if(id!=null){
map<string,string> contact=new hashmap<string,string>();
//查找数据表
cursor datacursor=resolver.query(datauri, new string[]{"data1","mimetype"},"raw_contact_id=[]{id}, null);
while(datacursor.movetonext()){
string data1=datacursor.getstring(datacursor.getcolumnindex("data1"));
string mimetype=datacursor.getstring(datacursor.getcolumnindex("mimetype")); 
system.out.println("data1:"+data1+",mimetype:"+mimetype);
if(mimetype.equals("vnd.android.cursor.item/name")){
contact.put("name", data1);
}else if(mimetype.equals("vnd.android.cursor.item/phone_v2")){
contact.put("phone", data1);
}
}
contacts.add(contact);
datacursor.close();
}
}
cursor.close();
return contacts;
}
}


0

主题

1万

帖子

2419

安币

Android大神

Rank: 6Rank: 6

发表于 2018-1-13 00:55:28 | 显示全部楼层
帮帮顶顶!!

0

主题

9630

帖子

1619

安币

Android大神

IT

Rank: 6Rank: 6

发表于 2018-1-14 03:26:00 | 显示全部楼层
感谢大神~

11

主题

9199

帖子

0

安币

QQ游客

推广达人

发表于 2018-1-14 20:32:14 | 显示全部楼层
帮帮顶顶!!

17

主题

9064

帖子

2351

安币

Android大神

Rank: 6Rank: 6

发表于 2018-1-15 08:16:46 | 显示全部楼层
感觉楼主很用心,辛苦啦~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站长推荐

通过邮件订阅最新安卓weekly信息
上一条 /4 下一条

下载安卓巴士客户端

全国最大的安卓开发者社区

联系我们
关闭
合作电话:
15618560077
Email:
805941275@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 下载客户端|申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )

快速回复 返回顶部 返回列表