Uri uri =uri.parse("content://com.aaa.provider);
//其中第二参数时一个boolean,如果为true,表示uri可以时非完整的路径,如果是false,就必须要是一个完整的uri,
上面的uri就是非完整的。第三个参数是contentReserver
getContentResolver().registerContentObserver(uri,true,new MyContentObserver);
第三个参数需要内容观察者,我们就定义一个。这个类是一个抽象类,所以我们必须要去继承。
private class MyContentObserver extends ContentObserver{
/**
* Creates a content observer.
*
* @param handler The handler to run {@link #onChange} on, or null if none.
*/
public MyContentObserver(Handler handler) {
super(handler);
}
/**
* 当内容发生改变时调用
* @param selfChange
*/
@Override
public void onChange(boolean selfChange) {
Log.e("------------","数据库发生改变");
super.onChange(selfChange);
}
}
内容观察者在对数据库操作的时候,有时候我们会遇见一些特殊的需求,要求应用3去观察应用1数据库中的数据由于应用2发生的变化,通常大家都会想到可以使用广播的方式,但是android中对此创建了一个API,ContentObserver(内容观察者),就是用来观察数据库一旦改变就发出消息。让使用者做出处理。内容观察者如何使用:【1】注册内容观察者Uri uri =uri.parse("content://