1、ContentObserver目的
如果内容提供者数据发生了变化,监听器立刻就能收到对数据库操作的记录,而监听器是采用通知的机制,如果不采用通知的机制也可以做,那就是不断的查询数据库,这样的话效率就会很低。而采用通知机制的话,当用户向数据库发送一条记录,ContentObserver立刻就能获取到,我们就可以进行处理数据。
2、监听ContentProvider数据变化的demo
(1)在内容提供者中当数据发生变化时通知其他程序进行监听
通过Context的getContentResolver()方法获取ContentResolver。
调用其notifyChange()方法发送数据修改通知。
(2)在其他程序中可以通过ContentObserver监听数据变化
通过Context的getContentResolver()方法获取ContentResolver。
调用其registerContentObserver()方法指定对某个Uri注册ContentObserver。
自定义ContentObserver,重写onChange()方法获取数据。
(3)demo
(a)在用户插入数据的时候通知其他程序进行监听。
public Uri insert(Uri uri, ContentValues values) {
SQLiteDatabase db = helper.getWritableDatabase();
switch (matcher.