본문 바로가기

Programming Practice/Android

[Contacts Provider]연락처 그룹 생성 및 입력 방법

1. 기본

1) 연락처의 그룹 정보를 담고 있는 ContactsContract.Groups 라는 테이블이 따로 있다.

2) ContactsContract.Groups 에 신규 그룹에 관한 row를 추가한다.

3) ContactsContract.Data 테이블에 GroupMembership 에 관한 row를 생성할 때, ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID 에 ContactsContract.Groups 테이블의 id를 할당한다.


2. ContactsContract.Groups 에 신규 그룹 row 추가 방법

1) 연락처 정보에서 그룹에 관한 정보를 중복을 제거해서 추려낸다. (사람별로 그룹 정보는 겹칠 수 있기 때문에 중복 제거를 해야 한다. 중복 제거는 직접 로직을 구현하지 않고, Set 이라는 Java Collection 을 이용한다.)


2) ContactsContract.Groups 에 항목을 추가한다.


3. Data 에 GroupMembership 에 관한 row를 생성시, ContactsContract.Groups 테이블의 id를 할당하는 방법

1) 그룹명을 가지고, Groups table 에서 id를 조회하는 method를 만든다.

2)  GroupMembership 에 관한 row를 생성시, Groups table 에서 id를 조회해서, ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID 에 설정한다.


참고)

1. Contact Groups