zoukankan      html  css  js  c++  java
  • Android-ContentProvider原理图

     ContentProvider的设计思想是模仿了Web里面的架构思想:

              Web服务器    对外暴露数据(提供被访问的地址Uri,并允许给客户端访问,也可以只让客户端访问某些行为)

              ContentProvider 对外暴露数据(提供被访问的授权Uri,并exported给客户端访问,也可以只让客户端访问某些行为UriMatcher)) 

              网页客户端     访问服务器,需要HTTP协议,格式是:http://,也可以http://uri/login

                Android客户端    访问ContentProvider,需要ContentResolver,格式是:content://,也可以content://uri/cat


    ContentProvider内容提供者对外暴露SqliteDatabase里面的数据给其他应用,是正确的,也不太正确,因为大部分情况是暴露SqliteDatabase数据给其他应用,也可以暴露很多能暴露的东西给其他应用,不仅仅是SqliteDatabase,所以ContentProvider设计的比较成功:

     

    ContentResolver内容解决者 -->> ContentProvider内容提供者,调用的方法成对出现:


    Android操作系统里面的 /packsges/目录:

      apps: 很多的系统应用,例如:联系人,浏览器,音乐播放器,设置,相机 ......

                                          ............

      providers:系统对外暴露的ContentProvider:

                          

      这样就明白了,Android操作系统里面的应用(apps),是访问系统对外暴露的ContentProvider(providers)


    非常重要的Uir,Uir是访问ContentProvider的唯一标识:


    最后还是要回顾下 流程图:

  • 相关阅读:
    第46课.继承中的构造与析构
    第45课.不同的继承方式
    第44课.继承中的访问级别
    第43课.继承的概念和意义
    [文件系统]文件系统学习笔记(三)---目录项缓存dentry
    [文件系统]文件系统学习笔记(二)---task_struct
    [文件系统]文件系统学习笔记(一)---基本概念以及inode
    [Linux]进程(十二)--task_struct结构体
    [Linux]进程——用户态编程相关
    [linux]进程(十一)——进程权能
  • 原文地址:https://www.cnblogs.com/android-deli/p/10124049.html
Copyright © 2011-2022 走看看