안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요... 안드로이 공부하면서 어플을 하나 만들고 있는데...
contact에서 생일정보를 가지고 와서 작업중인데.
DB 삭제나 추가시 Content Observer 를 통해
delete했으면 어떤 레코드 정보를 지웠는지... 추가했으면 어떤 정보를 추가했는지 알수 있는 방법이 있을가요??
고수님들의 답변 부탁드릴께요..
2011.12.17 17:14:49
Content Observer의 한계점
onChage 를 통해서 "변경" 이 일어났다는 사실만 알 수 있을 뿐
update, delete, insert 중에 어떤 변경인지 알 수 없다는 점이 있죠
이에 대해서 Android Issue로 등록 되어 있는걸 본적 있으며
Android 개발자 측에서도 문제를 인식하고 개선할 거라는 식으로 답변을 달았던걸 봤습니다.
현 시점에서는 별수 없어요
내가 기존에 query 했던 내용을 바탕으로 최근 query에 대해서 비교를 해 보는 수밖에
예를 들어 기존에 query 했던 item의 count가 10 이었는데 새로 query 했을때는 11 이라면 1개 Insert 되었다고 판단할 수 있죠
저라면, query의 결과가 수만개를 넘지 않는 이상 걍 기존거 싹 밀어버리고 새로 덮어치겠습니다.
그정도 오버헤드는 커버하고도 남거든요




http://www.androidpub.com/287903
위 글에 비슷한 질문이 있었는데, Observer 자체 만으로 찾는건 어려운 것 같습니다.