Android 内容提供器---内容提供器基础(内容的统一资源标识(URIs))

内容URI是在提供器中标识数据统一资源标识。内容的统一资源标识包括完整的提供器的符号名和所指向的一个表名。当你调用一个客户端方法来访问提供器中的一个表时,这个表的内容的统一资源标识就应该是参数之一。

在前面的代码行中,常量CONTENT_URI包含了用户字典的“words”表的统一资源标识。ContentResolver对象分析出URI的授权,并且使用这个授权跟已知的系统表的授权进行比较来找到内容的提供者,然后ContentResolver对象就能够把查询参数分发给正确的提供者。

ContentProvider对象是内容统一资源标识的路径部分来选择要访问的表。通常提供器对每个表都会公开一个路径。

在前面的代码行中,“words”表的完整URI是:

content://user_dictionary/words

user_dictionary字符串是提供器的授权位置,而words字符串是表的路径。字符串content://(方案)总是固定的,标识这是一个内容统一资源标识。

许多提供器允许你通过在URI的尾部添加一个ID值来访问表中的单行。例如,要从用户字典中获取_ID是4的那行数据,可以使用以下这样的内容URI:

Uri singleUri = ContentUri.withAppendedId(UserDictionary.Words.CONTENT_URI,4);

在获取想要更新或删除的行集时,经常要使用ID的值。

注意:Uri和Uri.Builder类为用字符串构造具有良好格式的Uri提供了便利方法。ContentUris类给URI添加一个ID值提供了便利的方法。前面的代码片段中就使用了withAppendedId()方法给用户字典的内容URI添加了一个ID值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值