您的位置:首页 > 编程语言 > PHP开发

内容URI及自定义ContentProvider重写方法

2016-03-31 12:03 501 查看

内容URI

内容URI:权限+路径

权限:用于不同的应用程序做区分,一般都采用程序包名的方式命名。

路径:用于对同一应用中不同的表做区分的,通常会添加到权限的后边。

如:

content://com.mars.app.provider/table1
content://com.mars.app.provider/table2


除此之外,我们还可以在内容URI后边再加上一个ID

content://com.mars.app.provider/table1/1


表示调用方期望访问com.mars.app.provider这个应用的table1表中id为1的数据。

内容URI的匹配

使用通配符的方式来分别匹配两种格式的URI:

*
:表示匹配任意长度的任意字符

#
:表示匹配任意长度的数字

然后使用UriMatcher这个类的addURI()方法,传入3个参数:

addURI(“权限”,”路径”,”自定义代码“),表示将要匹配的所有Uri添加到库里边,这样调用UriMatcher的match()方法时,传入一个Uri对象,返回值是某个能够匹配这个Uri对象所对应的自定义代码

自定义ContentProvider

这里主要说一下getType()方法!

getType()方法,用于获取Uri对象所对应的MIME类型(字符串)。

MIME格式:

①必须以vnd开头

②如果Uri以路径结尾,则后接
android.cursor.dir/
,如果以id结尾,则后接
android.cursor.item/


③最后接上
vnd.<authority>.<path>


例如:

content://com.mars.app.provider/table1
对应的MIME类型为:
vnd.android.cursor.dir/vnd.com.mars.app.provider/table1

content://com.mars.app.provider/table1/1
对应的MIME类型为:
vnd.android.cursor.item/vnd.com.mars.app.provider/table1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: