android,ContentProvider+ContentObserver+ContentResolver,用法。
这个是传智播客老师讲android开发时的一个图。
一、
PersonProvider继承ContentProvider,实现ContentProvider中的数据操作类。
在需要监听的操作中添加添加数据变化通知。
this.getContext().getContentResolver().notifyChange(uri, null);
第二个参数,数据变化的监听者,可以不设置,也即是设为null,如果给定了这个监听者,不管外面有多少个应用要设置监听,进行监听数据变化,这个getContentResolver()监听对象,必然会得到数据的变化通知。
这句话是从别处复制的,但是不懂啊不懂啊~~~
二、
设置监听
![](http://images0.cnblogs.com/blog2015/662869/201504/022228129201076.png)
//设置监听
this.getContentResolver().registerContentObserver(uri, true, new PersonContentObserver(new Handler()));
这个方法的参数请参考下面链接中大神给出的解释:
当有应用调用PersonProvider的insert方法是,就会执行onChange()方法,并打印出字段name的值。
执行时,监听器所在的应用必须是打开的。