谈谈ContentProvider、ContentResolver、ContentObserver之间的关系?

谈谈ContentProvider、ContentResolver、ContentObserver之间的关系?,第1张

谈谈ContentProvider、ContentResolver、ContentObserver之间的关系?

ContentProvider:

  • 四大组件的内容提供者,主要用于对外提供数据
  • 实现各个应用程序之间的(跨应用)数据共享,比如联系人应用中就使用了ContentProvider,你在自己的应用中可以读取和修改联系人的数据,不过需要获得相应的权限。其实它也只是一个中间人,真正的数据源是文件或者SQLite等
  • 一个应用实现ContentProvider来提供内容给别的应用来 *** 作,通过ContentResolver来 *** 作别的应用数据,当然在自己的应用中也可以

ContentResolver:

  • 内容解析者,用于获取内容提供者提供的数据
  • ContentResolver.notifyChange(uri)发出消息

ContentObserver:

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4830034.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-10

发表评论

登录后才能评论

评论列表(0条)

保存