记录ContentObserver的用法
监听某个数据库中数据的变化,可以通过ContentObserver来实现。
private class MContentObserver extends ContentObserver {
private ContentResolver mContentResolver;
public MContentObserverContentObserver(Context context) {
super(new Handler());
mContentResolver = context.getContentResolver();
}
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
Log.d(LOGTAG, "ShakeObserver change! selfchange:" + selfChange);
//监听到变化后,执行逻辑
}
public void registerObserver() {
mContentResolver.registerContentObserver(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
true, this);
// MediaStore.Audio.Media.EXTERNAL_CONTENT_URI 是需要监听数据的uri
}
public void unregisterObserver() {
mContentResolver.unregisterContentObserver(this);
}
}
多学习使用android系统提供的框架,可以优化编码风格,少引入bug