android,ContentProvider+ContentObserver+ContentResolver,用法。

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

一、

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

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

在需要监听的操作中添加添加数据变化通知。

android,ContentProvider+ContentObserver+ContentResolver,用法。

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

第二个参数,数据变化的监听者,可以不设置,也即是设为null,如果给定了这个监听者,不管外面有多少个应用要设置监听,进行监听数据变化,这个getContentResolver()监听对象,必然会得到数据的变化通知。

这句话是从别处复制的,但是不懂啊不懂啊~~~

二、
设置监听
android,ContentProvider+ContentObserver+ContentResolver,用法。

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

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

当有应用调用PersonProvider的insert方法是,就会执行onChange()方法,并打印出字段name的值。

相关文章:

  • 2022-01-04
  • 2021-12-26
  • 2022-03-07
  • 2021-05-16
  • 2022-12-23
  • 2021-07-01
猜你喜欢
  • 2021-05-16
  • 2021-05-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-03
  • 2021-10-18
相关资源
相似解决方案