본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] 연락처 수정, 삭제에 대한 추가정보

by 돼지왕 왕돼지 2015. 11. 16.
반응형


 [android] 연락처 수정, 삭제에 대한 추가정보


1, aggregation 조건, Android, appendqueryparameter, auto aggregation, contactscontract.caller_is_syncadapter, contactsprovider, content_uri, data, DB, deleted, insert, Provider, raw_contacts, raw_contact_id, syncadapter, view table, [android] 연락처 수정, 닉네임, 단어, 데이터 추가, 데이터베이스, 뷰 테이블, 삭제, 삭제에 대한 추가정보, 순서, 실제 삭제, 연락처 삭제, 연락처 수정, 연락처 업데이트, 이름, 이메일, 자동 삭제, 자동 정리, 전화번호, 종속, 추가정보


연락처 업데이트


=

provider 를 통해 insert 를 제공하는 테이블은 raw_contacts 와 data 만.



=

Contacts 테이블은 view table 이다.



=

Contacts 테이블은 Auto aggregation 을 통해 자동으로 정리된다.



=

raw_contacts 의 내용이 contacts 에 aggregation 되는 조건은..

이름이 같을 때
이름이 동일한 단어로 구성되어있지만 순서가 다를 때
전화번호나 이메일 혹은 닉네임을 공유할 때




연락처 삭제


=

raw_contacts 를 삭제하면 종속된 data 는 자동으로 삭제가 된다.
contacts 를 지우면 종속된 raw_contacts 를 자동으로 삭제한다.



=

ContactsProvider 를 이용해서 raw_contacts 를 삭제하면 데이터베이스에서 바로 지워지지 않는다.
raw_contacts 테이블의 deleted 필드를 1로 세팅한다.
그리고 SyncAdapter 에 의해 실제 삭제가 이루어진다.







=

만약 실제로 바로 삭제하려면 delete 를 할 때, 아래의 URI 로 요청하면 된다.

RawContacts.CONTENT_URI
.buildUpon()
.appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true")
.build()




데이터 추가


=

데이터를 추가할 때는 raw_contact_id 를 꼭 써줘야 한다.






반응형

댓글