1) 테이블 구조
테이블명 |
테이블설명 |
Contact |
사람별로 Contact table 의 row가 만들어진다. |
Raw Contact |
Summary |
Data |
Detail |
2) 세부 설명
a. Raw Contact
ㄱ. 목적
- sync 된 web service의 출처를 구분하기 위함
- 여러 web service(gmail, naver, daum 등등) 의 연락처와 휴대폰의 연락처를 동기화할 수 있는데, 이때 출처에 따라 구별할기 위해 Raw Contact를 구성. 안드로이드는 특정인에 대한 여러 Raw Contact 를 조합해서 사용자에게 연락처를 보여준다.
ㄴ. 컬럼 구성
- ACCOUNT_NAME - 계정명
- ACCOUNT_TYPE - web service 종류
ex) 예를 들어 특정인이 abc@gmail.com, xyz@gmail.com 계정의 연락처와 휴대폰의 연락처를 동기화했다고 하면, 2개의 Raw Contact row가 생기며, 각각은 ACCOUNT_NAME(abc), ACCOUNT_TYPE (google) / ACCOUNT_NAME(xyz), ACCOUNT_TYPE (google) 이렇게 구성된다.
b. Data
ㄱ. 목적
- 실제 연락처 정보( name, phone number, address, email address, group 등등)들이 들어간다.
- 연락처 정보별로 다른 성격의 table을 만들지 않고, 모두 같은 Data table을 사용한다. 아래와 같은 컬럼 구성으로 그것이 가능하다.
ㄴ. 컬럼 구성
* Descriptive Columns
(연락처 정보 유형(ex. name, phone number)별로 컬럼의 의미가 모두 같음)
- RAW_CONTACT_ID
- MIMETYPE
: 연락처 정보 유형, ContactsContract.CommonDataKinds 의 constants로 설정
- IS_PRIMARY
: 여러 같은 정보 유형 중 default 로 설정되는 정보
* Generic Columns
(연락처 정보 유형별로 컬럼의 의미가 모두 다름)
- DATA1 ~ DATA15
1. Content Provider Basics
2. Contacts Provider
http://developer.android.com/guide/topics/providers/contacts-provider.html
'Programming Practice > Android' 카테고리의 다른 글
[Contacts Provider]연락처 그룹 생성 및 입력 방법 (0) | 2014.10.26 |
---|---|
[Contacts Provider]연락처 입력 방법 (0) | 2014.10.26 |
SQLite database 에 데이터 저장하고 조회하기 (0) | 2014.10.18 |
한 화면에서 버튼을 눌렀을 때 다른 화면을 호출하기 (0) | 2014.10.17 |
화면에 리스트 목록 표시하기 (0) | 2014.10.17 |