获取手机中联系人的数据
来源:互联网 发布:windows 7系统镜像包 编辑:程序博客网 时间:2024/05/19 14:40
看到这个标题:首先必须想到
1,找到手机系统为我们提供的联系人数据库,其地址为:
/data/data/com.android.providers.contact/cache/database/contacts2.db
2,查询数据库中的表:data(得到数据),mimetypes(获取类型),raw_contacts(获取ID),和视图view(关系)
3,具体实现代码如下:写个公共静态的方法
public class ContactUtils{ public static List<ContactInfo> getContacts(Context context){ //准备一个集合用来转载查询的联系人数据 List<ContactInfo> lists = new ArrayList<>(); //获得一个内容解析者,(查询别人的数据库) ContentResolver resolver = context.getContentReslver(); //准备uri(查询的是那张表,其组成为:content://主机名/表名)查询到具体的contact_id Uri uri = Uri.parse("content://com.android.contacts/raw_contacts"); //在准备一个Uri根据具体的contact_id,查询具体的联系人信息 Uri datauri = Uri.parse("content://com.android.contacts/data"); //开始查询 Cursor cursor = resolver.query(uri,new String[]{"contact_id"},null,null,null); while(cursor .moveToNext()){ //说明有数据 String contact_id = cursor.getString(0); if(!TextUtils.isEmpty(contact_id)){ ContactInfo info = new ContactInfo(); //开始根据新的条件查询具体的数据 Cursor dataCursor = resolver.query(datauri, new String[]{"mimetype","data1"},"raw_contact_id = ?",new String[]{contact_id},null); while(dataCursor.moveToNext()){ String mimetype = dataCursor.getString(0); if("vnd.android.cursor.item/phone_v2".equals(mimetype)) { //说明是一个电话号码 info.phone= dataCursor.getString(1); }else if("vnd.android.cursor.item/name".equals(mimetype)) { //说明这个data1是名字 info.name=dataCursor.getString(1); } } lists.add(info); } } return lists; } public static class ContactInfo{ public String name; //联系人名字 public String phone;//联系人的号码 }}
0 0
- 获取手机中联系人的数据
- Android中获取手机联系人的优化
- 获取手机的联系人
- 获取手机联系人数据方法
- Android中获取手机联系人的基本信息的实现
- Android2.0中获取手机里联系人的方法
- 利用ContentProvider获取手机中联系人的信息
- Android:获取手机通讯录中联系人的信息
- Android中获取手机中的联系人信息
- Android中获取手机中的联系人信息
- 获取手机上的联系人的详细信息
- Android获取手机联系人信息的方法
- 安卓获取手机上的联系人
- CursorAdapter的使用:获取手机联系人
- Android 获取手机的联系人进行操作
- android 获取手机联系人的类
- 获取手机系统联系人的方法
- android如何获取手机联系人的数据库
- JVM初始详解
- 背包九讲
- org.apache.commons-io文件工具类FileUtils常用操作
- c++函数参数
- C#将可调整数据写在配置文件
- 获取手机中联系人的数据
- HDU Problem 1754 I Hate It 【线段树】
- 使用logstash配置nginx和tomcat日志统一收集到一台日志服务器
- AndroidStudio插件GsonFormat:根据Json自动生成JavaBean
- 如何选择Node.js Web开发框架?
- php复习 第十一天 文件与目录1基本函数
- NOIP2016滚粗记
- 支付宝这样提现不花钱
- 给 Android 开发者的 RxJava 详解