Android API에서는 데이터 베이스의 데이터 값이 변경되었을경우 Notifications을 제공해주는 ContentObserver라는 API를 제공하여 줍니다.
- 사용법 예제 소스입니다.
public static final Uri BOOKMARKS_URI =
Uri.parse("content://browser/bookmarks");
// 해당 데이터베이스의 데이터값이 변경시에 onChange() method가 호출됩니다.
private ContentObserver bookmarksObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
Log.d("Boookmarks", "onChanged : " + selfChange);
}
};
// ContentObserver에 해당 데이터 베이스의 URI를 등록합니다.
private BookmarksManager(Context context) {
this.context = context;
this.contentResolver = context.getContentResolver();
contentResolver.registerContentObserver(BOOKMARKS_URI, true, bookmarksObserver );
}
// 해당 Manager Class가 소멸될경우 꼭 ContentObserver에서 해제 시켜주어야 합니다
public static void destroy() {
if (instance != null && instance.contentResolver != null && instance.bookmarksObserver != null) {
instance.contentResolver.unregisterContentObserver(instance.bookmarksObserver);
}
instance = null;
}
댓글 없음:
댓글 쓰기