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

来源:互联网 发布:航海家炒股软件多少钱 编辑:程序博客网 时间:2024/06/05 15:09

内容URI

内容URI:权限+路径
权限:用于不同的应用程序做区分,一般都采用程序包名的方式命名。
路径:用于对同一应用中不同的表做区分的,通常会添加到权限的后边。
如:

content://com.mars.app.provider/table1content://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/table1content://com.mars.app.provider/table1/1对应的MIME类型为:vnd.android.cursor.item/vnd.com.mars.app.provider/table1
1 0
原创粉丝点击