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

内容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的匹配

  1. 使用通配符的方式来分别匹配两种格式的URI:
    *:表示匹配任意长度的任意字符
    #:表示匹配任意长度的数字
  2. 然后使用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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值