Notice
Recent Posts
Recent Comments
Link
투케이2K
391. (android/java) ContactsContract 사용해 휴대폰 (phone) 주소록에 저장된 연락처 정보 확인 실시 본문
Android
391. (android/java) ContactsContract 사용해 휴대폰 (phone) 주소록에 저장된 연락처 정보 확인 실시
투케이2K 2022. 11. 4. 18:43[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
// TODO [테스트 메소드 정의 실시]
public void testMain(){
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[Test_Java > testMain() 메소드 : 테스트 함수 동작 실시]");
Log.d("//===========//","================================================");
Log.i("---","---");
/**
* ------------------------------------
* TODO [요약 설명]
* ------------------------------------
* 1. 필요 퍼미션 :
*
* <uses-permission android:name="android.permission.READ_CONTACTS"/>
* ------------------------------------
* */
try {
// [연락처를 담을 배열 및 Cursor 선언 실시]
ArrayList dataList = new ArrayList<Map<String, String>>();
Cursor c = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
null, null, null,
ContactsContract.Contacts.DISPLAY_NAME_PRIMARY + " asc");
// [루프를 돌면서 연락처 정보 확인]
while (c.moveToNext()) {
// Map 선언
HashMap<String, String> map = new HashMap<String, String>();
// 연락처 ID 값
String id = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));
// 연락처 대표 이름
String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME_PRIMARY));
map.put("name", name); // TODO 이름
// ID 로 전화 정보 조회
Cursor phoneCursor = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + id,
null, null);
// 데이터가 있는 경우
if (phoneCursor.moveToFirst()) {
String number = phoneCursor.getString(phoneCursor.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.NUMBER));
map.put("phone", number); // TODO 휴대폰 번호
}
phoneCursor.close();
// 배열에 추가 실시
dataList.add(map);
}
// [로그 결과 출력 실시]
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[Test_Java > testMain() 메소드 : 로그 결과 출력]");
Log.i("","\n"+"[count : "+String.valueOf(dataList.size())+"]");
Log.i("","\n"+"[dataList : "+String.valueOf(dataList)+"]");
Log.w("//===========//","================================================");
Log.i("---","---");
}
catch (Exception e){
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[Test_Java > testMain() 메소드 : 예외 상황 발생 확인]");
Log.i("","\n"+"[error : "+String.valueOf(e.getMessage())+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
}
[결과 출력]
반응형
'Android' 카테고리의 다른 글
Comments