• 查询手机内联系人


    联系人的创建查询

    public class Query {
        //查询联系人的方法
            public static List<Contact> queryContact(Context context){
                //创建一个集合对象
                List<Contact> contacts=new ArrayList<Contact>();
                //先查询raw_contact表  这个表有几条联系人数据
                //由于联系人数据通过内容提供者暴露出来,所以我们可以通过内容解析操作数据库
                Uri uri=Uri.parse("content://com.android.contacts/raw_contacts");
                Uri dataUri=Uri.parse("content://com.android.contacts/data");
                Cursor cursor=context.getContentResolver().query(uri,new String[]{"contact_id"},null,null,null);
                while (cursor.moveToNext()){
                    String contact_id=cursor.getString(0);
                    if (contact_id!=null){
                        Contact contact=new Contact();
                        contact.setId(contact_id);
                        Cursor cursor1=context.getContentResolver().query(dataUri,new String[]{"data1","mimetype"},"raw_contact_id=?",new String[]{contact_id},null);
                        while (cursor1.moveToNext()){
                            String data1=cursor1.getString(0);
                            String mimetype=cursor1.getString(1);
                            //区分类型
                            if ("vnd.android.cursor.item/name".equals(mimetype)){
                                contact.setName(data1);
                            }
                            else if ("vnd.android.cursor.item/phone_v2".equals(mimetype)){
                                contact.setPhone(data1);
                            }
                        }
                        //把contact放入集合
                        contacts.add(contact);
                    }
    
    
    
                }
                return  contacts;
    
    
            }
    }

    创建一个Contact封装类

    public class Contact {
        private String id;
        private String name;
        private String phone;
    
        public String getId() {
            return id;
        }
    
        public void setId(String id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getPhone() {
            return phone;
        }
    
        public void setPhone(String phone) {
            this.phone = phone;
        }
    }
  • 相关阅读:
    对象形式传递
    解决DLNA方案的技术框架
    关于DLNA
    MAC配置Xcode的Cocos2d-x环境
    什么叫做双缓冲?
    Window7 Cocos2d-x配置开发环境
    Windows 8.1 Update 2更新了什么?
    微软发布Windows Phone 8.1 Update 和中文版Cortana“小娜”
    大开眼界 游览Facebook香港办公室
    小米的“假照片”危机
  • 原文地址:https://www.cnblogs.com/SongYongQian/p/7822730.html
Copyright © 2020-2023  润新知