ContentProvider
什么是ContentProvider?
ContentProvider(内容提供者)是安卓四大组件之一,用来共享应用程序内人数据
当你需要把你的应用程序的数据共享给其他的应用程序的时候,才需要用它
该组件对外提供了其他应用可以直接访问的增删改查方法
一旦通过ContentProvider暴露了直接数据,不管应用程序是否启动,都能访问
原理:简单来说:ContentProvider暴露数据的过程,类似于网站的访问:ex:servlet
Servlet只是一个接口,提供了访问数据的功能,但是并不是对外提供完整的操作页面
如果需要操作者个接口,必须有一个客户端通过一个URL来访问
当成android内部的网站,地址是URI:浏览器网页时的URL:http://www.google.com.hk/intl/zh-CN/images*logo_cn.png
http://指定书目协议,固定的
红色部分,网站域名部分,网站总是跟域名绑定
最后,网站资源部分
内容提供者的URI:URI代表操作的数据,由scheme,authorites,path三部分组成
content://cn.verydeu.wq.providers.bookprovider/book/2
scheme:固定为contnet,代表访问内容提供者
authorites:中间的红色部分就是ContentProvider的归属,通过这部分找到对应的ContentProvider provider节点中的authorites属性
path:资源路径,可根据业务逻辑定义
向URI发送请求,这种请求最后委托给ContentProvider处理 注册ContentProvider时,需要为它绑定一个URI
发送请求必须要由一个客户端发出,这个客户端就是ContentResolver 相当于就是访问网页时的浏览器