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;
        }
    }
  • 相关阅读:
    【2-26】string/math/datetime类的定义及其应用
    聚合函数,数学函数,字符串函数,时间日期函数
    数据库备份,还原,分离与附加
    SQL数据库增删改查
    form表单验证和事件、正则表达式
    悬浮动态分层导航
    图片轮播
    marquee标签
    Window.document对象
    Window.document对象
  • 原文地址:https://www.cnblogs.com/SongYongQian/p/7822730.html
Copyright © 2011-2022 走看看