zoukankan      html  css  js  c++  java
  • 查询手机内联系人

    联系人的创建查询

    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;
        }
    }
  • 相关阅读:
    word2010怎么把白色方框变成黑色方框?
    Ubuntu 14.04 安装 Sublime Text 3
    安装xmlspy之后,链接及邮箱等都用这个软件打开,怎样取消?
    SRAM、DRAM、SDRAM、DDR、DDR2、DDR3
    ROM和RAM区别
    shell脚本分析一
    重要网址
    vi/vim
    dump_stack使用
    BIOS、BootLoader、uboot对比
  • 原文地址:https://www.cnblogs.com/SongYongQian/p/7822730.html
Copyright © 2011-2022 走看看