1.ContentProvider的概述
当用户想允许自己应用的数据被别的应用进行读取操作,可以让App实现ContentProvider类,同时注册一个URI,然后其他应用只要使用ContentProvider根据URI即可操作App中的数据了。而数据不一定是数据库,也可能是文件,xml或者其他,但是SharedPreference使用基于数据库模型的简单表格来提供其中的数据。
2.ContentProvider的执行原理(见图4.9)
图4.9
3.URI简介
URI中文名叫作统一资深标识符。通常在浏览器地址栏中使用的URL是URI的子集,URL中文名叫作统一资源定位符,因此URI也可以认为是定位资源的。在本节ContentProvider中,URI非常重要,下面分析一个简单的例子:
content://cn.edu hbuas.providers.myprovider/word/2(www.xing528.com)
content:协议头,这个是规定的,就像http.ftp等一样是规定的,而ContentProvider规定的是以content开头,接着是provide所在的权限定类名。
word:代表资源部分,如果想访问word所有资源,后面的2就不用写了,直接写成word。
2:即访问的是word资源中id为2的记录。
4.附 加
当然,上面也说过数据不仅仅来自数据库,有时也来源于文件,xml或者网络等其他存储方式。但是依旧可以使用上面这种URI定义方式,比如当表示的是xml文件时:~word/detall表示word节点下的detail结点。另外,URI还提供一个Parse()方法将字符串转换为URI,例如:Uri uri= Uri parese ("Content://")。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。