Android-ContentProvider原理图

Posted 原创Android 努力学习 专一安卓 持之以恒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的唯一标识:

 

 


 

 

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

 

以上是关于Android-ContentProvider原理图的主要内容,如果未能解决你的问题,请参考以下文章

Android-ContentProvider简单的增删改查

Android-ContentProvider详解及实例

组合数学笔记-计数原理

kubeadm工作原理-kubeadm init原理分析-kubeadm join原理分析

vuex的原理以及实现

Pagetoken 原理