ContentObserver 内容观察者
实现原理
观察指定Uri代表的数据变化
当数据变化则触发onChange(),在onChange()中使用ContentResovler查询到变化的数据
使用方法
在ContentProivder中调用ContentResolver的notifyChange()
- 创建观察者ContentObserver
- 注册监听registerContObserver
- 刷新数据库改变onChange
- 注销监听unregisterContentObserver
class MyContentObserver(handler:Hanler):ContentObserver(){//刷新数据override fun onChange(selfChange:Boolean){super.onChange(selfChange) }}
class MainActivity:AppCompatActivity(){//声明观察者对象lateinit var contentObserver:ContentObserveroverride fun onCreate(){//创建contentObserver = MyContentObserver(Handler())//注册contentResolver.registerContentObserver(uri,true,contentObserver)
}override fun onDestroy(){//注销contentResoler.unregisterContentObserver()}
}