2014-12-02 2 views
0

모바일에서 모든 연락처 세부 정보 (번호, 이름, 이메일, 사진)를 검색하는 응용 프로그램을 개발 중입니다. 그것의 모든 세부 사항을 보여 주지만 문제는 이메일 ID가 휴대 전화 번호와 동일하게 보이고 있다는 것입니다. 그래서이 문제를 해결하는 방법. 코드 스 니펫은 아래 있습니다. 도와주세요전화로 모든 연락처 세부 정보를 가져 오는 방법

Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI; 
      Cursor cursor = getApplicationContext().getContentResolver().query(uri, new String[] {ContactsContract.CommonDataKinds.Phone.NUMBER, 
       ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone._ID, 
       ContactsContract.CommonDataKinds.Email.ADDRESS}, null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC"); 
      cursor.moveToFirst(); 
      while (cursor.isAfterLast() == false) 
      { 
       String contactNumber= cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
       String contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); 
       String emailId = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.ADDRESS)); 
       // int phoneContactID = cursor.getInt(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone._ID)); 

       Contact contact = new Contact(); 
       contact.setConatctId(count++); 
       //contact.setConatctId(phoneContactID); 
       contact.setEmailId(emailId);    
       contact.setDisplayName(contactName);     
       contact.setMobileNo(contactNumber); 
+1

내 대답보기 : http://stackoverflow.com/questions/26804387/android-fetch-all-contact-list-name-email-phone-takes-more-then-a-minute-for – pskink

+0

나는 이미 이것을 시도했지만 그 너무 많은 시간이 걸릴 –

+0

너무 많은 시간 ??? 너 농담해야하지, 그렇지? 나는 60 개의 연락처가 있었고 avarage 25 ms (즉, 0.025 초)가 걸렸습니다 – pskink

답변

0

공급자를 사용하여 데이터베이스에서 데이터를 가져 오는 데는 CursorLoader을 사용하는 것이 더 좋을 수 있습니다. 그리고 사용자 CursorAdapter은 listview에 내용을 표시합니다.

관련 문제