zoukankan      html  css  js  c++  java
  • ContentProvider、ContentResolver、ContentObserver之间的关系

    ContentProvider、ContentResolver、ContentObserver之间的关系

    ContentPRrovider:

    * 四大组件的内容提供者,主要用于对外提供数据

    * 实现各个应用程序之间的(跨应用)数据共享,比如联系人应用中就使用了ContentProvider,你在自己的应用中可以读取和修改联系人的数据,不过需要获得相应的权限。其实它也只是一个中间人,真正的数据源是文件或者SQLite等

    * 一个应用实现ContentProvider来提供内容给别的应用来操作,通过ContentResolver来操作别的应用数据,当然在自己的应用中也可以

    ContentResolver:

    * 内容解析者,用于获取内容提供者提供的数据

    * ContentResolver.notifyChange(uri)发出消息

    ContentObserver:

    * 内容监听器,可以监听数据的改变状态

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

    * ContentResolver.registerContentObserver()监听消息

    联系:

    简单一句话来描述就是:使用ContentResolver来获取ContentProvider提供的数据,同时注册ContentObserver监听Uri数据的变化

  • 相关阅读:
    aud$定位错误用户密码登陆数据库的具体信息
    Linux 磁盘分区、格式化、目录挂载
    Linux RHCS 基础维护命令
    Vertica 6.1不完全恢复启动到LGE方法
    Oracle Recovery 02
    如何删除回滚段状态为NEEDS RECOVERY的undo表空间
    Oracle Recovery 01
    DRA(Data Recovery Advisor)的使用
    Oracle启动报错ORA-27102解决
    jquery remove()不兼容问题解决方案
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/8391887.html
Copyright © 2011-2022 走看看