【问题标题】:How to get unique contact number from my contact application in android?如何从我在 android 中的联系人应用程序中获取唯一的联系号码?
【发布时间】:2014-03-19 13:48:26
【问题描述】:

我正在制作联系申请,但是当我获得所有联系号码时,我得到了重复的号码。如何确保我只获得唯一编号?

ContentResolver cr = getContentResolver();
        Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
        if (cur != null && cur.getCount() > 0) {
            while (cur.moveToNext()) {
                strPhontNumberTemp = "";
                mPhoneContactsVo = new PhoneContactsVo();

                String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
                String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

                if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {

                    Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,  ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                            + " = ?", new String[] { id }, null);

                     while (pCur.moveToNext()) {
                         String phoneNumber = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                         Log.i(TAG, "phoneNumber="+phoneNumber); // Dupblicate number print
                     }
                }
            }
        }

【问题讨论】:

    标签: android contacts android-contacts contact contactscontract


    【解决方案1】:

    使用Set接口添加电话号码,避免重复。

    Set<String> uniques = new HashSet<String>();
    

    检查这个简单的例子

       public static void main(String[] args) {
        Set<String> uniques = new HashSet<String>();
        Set<String> dups    = new HashSet<String>();
    
        for (String a : args)
            if (!uniques.add(a))
                dups.add(a);
    
        // Destructive set-difference
        uniques.removeAll(dups);
    
        System.out.println("Unique words:    " + uniques);
        System.out.println("Duplicate words: " + dups);
      }
    

    从此链接... http://docs.oracle.com/javase/tutorial/collections/interfaces/set.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-13
      • 2014-03-30
      • 2017-06-22
      • 1970-01-01
      • 2018-01-09
      • 2012-02-05
      • 1970-01-01
      • 2012-03-12
      相关资源
      最近更新 更多