android 的ContentObserver例子解析

先官方解释下ContentObserver:
ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理,它类似于数据库技术中的触发器(Trigger),当ContentObserver所观察的Uri发生变化时,便会触发它。触发器分为表触发器、行触发器.相应地ContentObserver也分为“表“ContentObserver、“行”ContentObserver,当然这是与它所监听的Uri MIME Type有关的。
本例中主要监听settings 里面DoubleTap的值。
1.先写SettingsObserver里的类继承ContentObserver:

class SettingsObserver extends ContentObserver {
        SettingsObserver(Handler handler) {
            super(handler);
        }
    void observe() {
    ContentResolver resolver = mContext.getContentResolver();
    resolver.registerContentObserver(
                      Settings.System.getUriFor(Settings.System.ASUS_DOUBLE_TAP), false, this,
                      UserHandle.USER_ALL);
      updateSettings();
    }

    @Override 
    public void onChange(boolean selfChange) {
        updateSettings();
    }
}
public void updateSettings() {
ContentResolver resolver = mContext.getContentResolver();
mDoubleTapGesEnable = Settings.System.getIntForUser(resolver,
                        Settings.System.ASUS_DOUBLE_TAP, 0, UserHandle.USER_CURRENT) == 1;
}

2.实例化SettingsObserver

mSettingsObserver = new SettingsObserver(mHandler);

3.注册SettingsObserver

mSettingsObserver.observe();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值