출처: http://blog.naver.com/websearch/70100892837
[출처] [안로이드] 주소록에서 이름/전화번호 가져오는 방법|작성자 까미유
일반적인 안드로이드 개발 도서에는 managedQuery( People.CONTENT_URI ... ) 을 사용하라고 기술되어 있는데 People 클래스가 deprecated 되었고 ContactsContract 클래스를 사용하라고 안드로이드 문서에 기술되어 있더군요.
안드로이드 2.1 이상에서 주소록을 가져오는 기능에 대한 예제 코드는 다음과 같습니다.
private void ReadFromDB()
{
Vector<String> arrPhoneList = new Vector<String>();
Vector<String> arrNameList = new Vector<String>();
String [] arrProjection = { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME };
String [] arrPhoneProjection = { ContactsContract.CommonDataKinds.Phone.NUMBER };
Cursor clsCursor = getContentResolver().query( ContactsContract.Contacts.CONTENT_URI, arrProjection, ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1" , null, null );
while( clsCursor.moveToNext() )
{
String strContactId = clsCursor.getString( 0 );
Cursor clsPhoneCursor = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, arrPhoneProjection
, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + strContactId, null, null );
while( clsPhoneCursor.moveToNext() )
{
// 이름과 전화 번호를 각각의 리스트에 저장한다.
arrNameList.add( clsCursor.getString( 1 ) );
arrPhoneList.add( clsPhoneCursor.getString( 0 ) );
}
clsPhoneCursor.close();
}
clsCursor.close( );
// QQQ: 이름과 전화 번호를 화면에 보여준다. - 이 부분은 원하시는 코드를 추가하시면 됩니다.
}
[참고자료] http://stackoverflow.com/questions/1721279/how-to-read-contacts-on-android-2-0
'JAVA > Android' 카테고리의 다른 글
[Android] 프로그램 종료 확인 메시지 박스 보여주기 (0) | 2013.08.02 |
---|---|
[안드로이드] 진동/무음 모드 확인 방법 (0) | 2013.08.02 |
[Android] 안드로이드 마켓 앱을 실행하는 방법 (0) | 2013.08.02 |
[Android] 바탕화면에 단축 아이콘 생성 방법 (2) | 2013.08.02 |
[Android] 리시트뷰. 텍스트 필터. (0) | 2013.07.31 |