丈夫欲遂平生志,一载寒窗一举汤。这篇文章主要讲述Android-ContentProvider原理图相关的知识,希望能为你提供帮助。
ContentProvider的设计思想是模仿了Web里面的架构思想:
Web服务器
对外暴露数据(提供被访问的地址Uri,并允许给客户端访问,也可以只让客户端访问某些行为)
【Android-ContentProvider原理图】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的唯一标识:
文章图片
最后还是要回顾下 流程图:
文章图片
推荐阅读
- information_schema系列之字符集校验(CHARACTER_SETS,COLLATIONS,COLLATION_CHARACTER_SET_APPLICABILITY)
- android EditText自定义样式
- Unable to load script from assets 'index.android.bundle'.make sure you bundle is packaged co
- Android-ContentProvider简单的增删改查
- Android-ListView-SimpleCursorAdapter
- Apache httpd 2.4.4 rpm快速下载和安装
- 在Unix上安装Apache 2.4.6详细步骤
- 如何将子文件夹重定向到根文件夹()
- 将非www重定向到www或将www重定向到非www