2010-08-09 5 views
3

ContentProvider에 데이터를 표시하고 추가 할 수있는 3 가지 활성 활동이 있다고 가정 해보십시오. 활동간에 상태를 동기화하는 가장 좋은 방법은 무엇입니까? 예를 들어, ActivityA가 ContentProvider에 새 레코드를 추가하면 ActivityB 및 ActivityC에서 해당보기를 업데이트 할 수 있도록 알림을 받길 원합니다.Android : 데이터가 변경되면 콘텐츠 제공 업체로부터 콜백을받는 방법?

답변

3

각 활동에서 ContentResolver.registerContentObserver() 방법을 사용하고 적절한 URI를 제공하십시오.

제공자의 기본 콘텐츠 URI를 전달하고 notifyForDescendents 매개 변수에 true을 전달하면 변경 사항이있을 때마다 콜백이 실행됩니다.

액세스하는 콘텐츠 제공자가이를 지원해야합니다 (대부분). 직접 작성하는 경우 수정 된 행의 URI가있는 ContentResolver.notifyChange()으로 전화해야합니다.

관련 문제