2014-11-10 2 views
0

Given_name family_name, prefix 및 suffix를 검색하는 방법이 있습니까? 모든 연락처에 대해 하나의 쿼리를 사용합니다.연락처 검색 Given_name, family_name, 접두사 및 접미사 Android 연락처

테이블 ContactsContract.Data.CONTENT_URI에 쿼리하는 것이 좋지만 정보를 검색 할 연락처의 ID를 지정하는 많은 솔루션이 있습니다. 주소록과 데이터 간의 조인처럼 작성하여 추가 정보가있는 모든 연락처를 검색하려고합니다.

답변

0

이 구조적 이름 콘텐츠 URI를 쿼리하여 형식을 가져올 수 있습니다.

http://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.StructuredName.html

그것은 당신이 필요로하는 모든 속성, 단지 빈 선택을 유지하고 당신은 모든 연락처에 대한 구조화 된 이름 데이터를해야합니다 있습니다. 이름, 중간 이름, 가족의 이름과

  Uri nameUri = ContactsContract.Data.CONTENT_URI; 
     String selection = ContactsContract.Data.MIMETYPE + "='" 
        + ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE + "'"; 

     Cursor cursor = getContentResolver().query(nameUri, new String[]{ 
       ContactsContract.CommonDataKinds.StructuredName._ID, 
       ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, 
       ContactsContract.CommonDataKinds.StructuredName.PREFIX, 
       ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, 
       ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME, 

       }, selection, null, ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME); 
+0

당신이 정확히 무엇을 의미하는지의 세부 사항을 제공 할 수 있습니다 접두사를 감안할 때 연락처를 조회 할 수

사용이 코드? 및 예? –

+0

나는 모든 구조화 된 이름을 얻기 위해 데이터 테이블을 쿼리 할 수 ​​있다는 것을 알고 있지만 연락처 테이블을 쿼리하고 모든 구조화 된 이름을 얻기 위해 데이터에 조인해야합니다. –

+0

데이터 테이블은 이미 모든 주요 연락 처 테이블의 조인입니다.이 조인이 필요한 정확한 정보는 무엇입니까? http://developer.android.com/reference/android/provider/ContactsContract.DataColumnsWithJoins.html – iago