android,ContentProvider+ContentObserver+ContentResolver,用法。

这个是传智播客老师讲android开发时的一个图。html

1、android

PersonProvider继承ContentProvider,实现ContentProvider中的数据操做类。数据库

ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引发的数据库的变化,继而作一些相应的处理,它相似于数据库技术中的 触发器(Trigger),当ContentObserver所观察的Uri发生变化时,便会触发它。触发器分为表触发器、行触发器,相应地 ContentObserver也分为“表“ContentObserver、“行”ContentObserver,固然这是与它所监听的Uri MIME Type有关的。ide

在须要监听的操做中添加添加数据变化通知。this

this.getContext().getContentResolver().notifyChange(uri, null);server

第二个参数,数据变化的监听者,能够不设置,也便是设为null,若是给定了这个监听者,无论外面有多少个应用要设置监听,进行监听数据变化,这个getContentResolver()监听对象,必然会获得数据的变化通知。htm

这句话是从别处复制的,可是不懂啊不懂啊~~~对象

2、
设置监听

//设置监听
this.getContentResolver().registerContentObserver(uri, true, new PersonContentObserver(new Handler()));blog

这个方法的参数请参考下面连接中大神给出的解释:继承

当有应用调用PersonProvider的insert方法是,就会执行onChange()方法,并打印出字段name的值。
相关文章
相关标签/搜索