안드로이드 연락처 가져오기 - andeuloideu yeonlagcheo gajyeoogi

안드로이드 주소록 앱만들기 - 휴대폰 번호 가져오기 및 사용하기

길상2019. 4. 19. 9:10

스마트폰의 주소록정보를 가져와서 처리를 해야되는 순간이있다. 주소록에서 사용자는 이름,휴대폰번호,이메일,거주지 등 기재하는 부분이있지만 사실상 대부분 필요한건 이름과 휴대폰번호다.

따라서 두 항목에 대한 리스트를 가져올수있게끔 아래처럼 기재한다.

가져온 주소록정보를 따로 이름이나 휴대폰번호에 맞춰서 정렬한다면 좀 더 데이터를 다루는대 도움이 될것이다.

0. manifest 파일에 아래 권한을 정의한다.

오레오 이상 사용자는 권한요청을 한다.

<!-- Conteact 권한--> <uses-permission android:name="android.permission.WRITE_CONTACTS"/> <uses-permission android:name="android.permission.READ_CONTACTS"/>

1. 모델을 정의한다.

(이름과 전화번호만 사용)

public class PhoneBook { private String id; private String name; private String tel; // private String address; // private String email; }

2. 위에 정의한 모델 리스트로 반환하는 메소드 작성

public List<PhoneBook> getContacts(Context context){ // 데이터베이스 혹은 content resolver 를 통해 가져온 데이터를 적재할 저장소를 먼저 정의 List<PhoneBook> datas = new ArrayList<>(); // 1. Resolver 가져오기(데이터베이스 열어주기) // 전화번호부에 이미 만들어져 있는 ContentProvider 를 통해 데이터를 가져올 수 있음 // 다른 앱에 데이터를 제공할 수 있도록 하고 싶으면 ContentProvider 를 설정 // 핸드폰 기본 앱 들 중 데이터가 존재하는 앱들은 Content Provider 를 갖는다 // ContentResolver 는 ContentProvider 를 가져오는 통신 수단 ContentResolver resolver = context.getContentResolver(); // 2. 전화번호가 저장되어 있는 테이블 주소값(Uri)을 가져오기 Uri phoneUri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI; // 3. 테이블에 정의된 칼럼 가져오기 // ContactsContract.CommonDataKinds.Phone 이 경로에 상수로 칼럼이 정의 String[] projection = { ContactsContract.CommonDataKinds.Phone.CONTACT_ID // 인덱스 값, 중복될 수 있음 -- 한 사람 번호가 여러개인 경우 , ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME , ContactsContract.CommonDataKinds.Phone.NUMBER}; // 4. ContentResolver로 쿼리를 날림 -> resolver 가 provider 에게 쿼리하겠다고 요청 Cursor cursor = resolver.query(phoneUri, projection, null, null, null); // 4. 커서로 리턴된다. 반복문을 돌면서 cursor 에 담긴 데이터를 하나씩 추출 if(cursor != null){ while(cursor.moveToNext()){ // 4.1 이름으로 인덱스를 찾아준다 int idIndex = cursor.getColumnIndex(projection[0]); // 이름을 넣어주면 그 칼럼을 가져와준다. int nameIndex = cursor.getColumnIndex(projection[1]); int numberIndex = cursor.getColumnIndex(projection[2]); // 4.2 해당 index 를 사용해서 실제 값을 가져온다. String id = cursor.getString(idIndex); String name = cursor.getString(nameIndex); String number = cursor.getString(numberIndex); PhoneBook phoneBook = new PhoneBook(); phoneBook.setId(id); phoneBook.setName(name); phoneBook.setTel(number); datas.add(phoneBook); } } // 데이터 계열은 반드시 닫아줘야 한다. cursor.close(); return datas; }

3. 위에 정의한 모델 리스트로 반환하는 메소드 작성 (호출하려는 액티비티 등에서)

private List<PhoneBook> phoneBooks; // TODO : 주소록 정보 가져오기 phoneBooks = getContacts(context);

구글 주소록 동기화 어떻게 해야 하나요?

과거에는 휴대폰에 저장해놓았던 전화번호를 분실하면 매우 난감해질 때가 많았습니다. 수백 가지의 전화번호를 일일이 외우고 다니는 것은 매우 어려운 일이기 때문에 핸드폰에 저장을 해놓았는데 분실 또는 파손 등의 사유로 인해서 중요한 연락을 하지 못할 때가 있었기 때문입니다. 하지만 스마트폰과 무선 인터넷 기술이 크게 발달한 지금에는 스마트폰에 저장해놓은 연락처뿐만 아니라 이미지, 문서 등의 파일을 동기화 기능을 통해서 온라인에 업로드하는 것이 가능합니다. 그렇기 때문에 기기를 분실하거나 새로운 기기로 바꾸더라도 이전에 사용하던 스마트폰의 연락처를 쉽게 복구할 수 있습니다. 이번 시간에는 구글 주소록 동기화하는 방법과 연락처를 CSV 파일로 생성하는 방법에 대해 알아보겠습니다.

스마트폰 중독 증상 및 예방법, 상담을 받을 수 있는 곳은?

핸드폰 배터리 수명 확인 방법, 사용 시간을 늘리는 비법은?

스마트폰 데이터 절약 7가지 방법, 지금 당장 실천하세요

휴대폰 온도 측정법, 발열을 해소하는 가장 쉬운 방법은?

구글 주소록 동기화

안드로이드 스마트폰을 사용하는 사람은 거의 필수적으로 구글 계정을 생성하게 됩니다. 스마트폰의 Play 스토어, 지메일 등의 구글 서비스를 활용하기 위해서는 반드시 구글 계정이 필요하기 때문입니다. 그런데 구글 계정이 있으면 스마트폰에 저장해놓은 연락처를 동기화 기능을 통해서 구글 계정에 업로드 해놓는 것이 가능합니다.

구글 계정 동기화의 장점은?

스마트폰에 저장한 연락처가 구글 계정에 동기화 되면 스마트폰이 파손되었거나 분실되었을 때도 연락처를 확인하는 것이 가능합니다. 또 새로운 기기를 구입했을 때도 일일이 이메일 주소나 연락처를 입력할 필요 없이 인터넷 연결을 통해서 자동으로 주소록이 다운로드됩니다.

구글 주소록 동기화하는 방법은?

사용하는 스마트폰의 제조사에 따라 약간의 설정에 차이가 있습니다. 하지만 본문에서는 국내에서 대중적으로 많이 사용되는 삼성 갤럭시 스마트폰을 기준으로 설명드리겠습니다. 하지만 제조사가 다르더라도 안드로이드 OS의 특성상 설정 과정에 큰 차이가 있는 것은 아닙니다.

  • 스마트폰의 설정 메뉴를 실행합니다.
  • 설정 메뉴에서 계정이라고 적혀있는 기능을 선택합니다.
  • 계정 및 백업 메뉴에서 다시 한번 더 계정을 선택합니다.
  • 계정 메뉴를 실행하면 현재 스마트폰에 등록되어 사용 중인 사용자의 계정을 한번에 살펴볼 수 있습니다.
  • 구글 주소록 동기화 설정을 하기 위해서 구글 계정을 선택합니다.
  • 사용중인 구글 계정을 선택하면 정보 및 보안 설정, 계정 삭제 등의 기능을 활용할 수 있습니다.
  • 구글에 주소록을 동기화하기 위해서 계정 동기화 메뉴를 선택합니다.
  • 안드로이드 OS는 사용자가 입력한 연락처가 자동으로 구글 계정에 동기화되도록 설정되어 있습니다.
  • 연락처 항목의 우측 바를 터치하여 비활성화했다가 다시 한번 더 선택하여 재활성화시킵니다.
  • 연락처의 동기화 기능을 종료했다가 재활성화하면 자동으로 최신 정보가 업로드됩니다.

구글 주소록 동기화 설정을 해놓으면 스마트폰이나 PC에 관계없이 구글 계정만 있다면 언제 어디서나 입력한 연락처 및 이메일 주소를 확인할 수 있습니다. 스마트폰을 다른 기기로 변경했을 때는 새 기기에서 구글 계정으로 로그인하면 자동으로 연락처가 동기화되므로 연락처를 수동으로 입력할 필요가 없어 매우 편리합니다.

연락처 가져오기 및 내보내기

구글 계정에 동기화해놓은 연락처는 파일로 변환하여 가져오기 및 내보내기 기능에 사용할 수 있습니다. 인터넷이 안되거나 스마트폰의 동기화 오류가 났을 때, 다른 기기로 연락처를 전송해야 할 때는 가져오기 및 내보내기 기능을 활용하면 편리합니다.

  • PC 웹브라우저에서 구글에 접속하여 로그인합니다.
  • 우측 상단에 보이는 계정명의 왼쪽에 있는 더 보기 (Google 앱) 메뉴를 실행합니다.
  • 구글 앱 페이지에서 주소록 메뉴를 선택합니다.
  • 구글 주소록 페이지를 실행하면 아래와 같이 가져오기 및 내보내기 기능을 활용할 수 있습니다.
  • 가져오기는 CSV 파일로 변환된 연락처를 현재 계정에 업로드하는 기능이며, 내보내기는 현재 계정의 연락처를 CSV 파일로 생성하는 기능입니다.

구글 계정에 동기화된 연락처가 가끔 중복이 될 때가 있습니다. 이럴 때는 주소록 메뉴에서 병합 및 수정 기능을 사용하여 중복된 연락처를 하나로 합치는 것이 가능합니다. 또한 라벨 기능을 사용하면 연락처를 친구, 직장, 가족 등에 따라 그룹으로 구분할 수 있으며 그룹별로 연락처를 CSV 파일로 생성하는 것도 가능합니다.

Toplist

최신 우편물

태그