Android 内容提供器---内容提供器基础(访问提供器)

应用程序使用ContentResolver客户端对象访问来自客户端的数据。这个对象有一些与提供器中相同的命名的方法,提供器是ContentProvider的一个具体的子类的实例。ContentResolver对象的方法提供了基本的“CRUD”(创建、获取、更新和删除)持久化保存的功能。

在客户端应用程序的进程中的ContentResolver对象和提供器自己应用中的ContentProvider对象自动的处理进程间通信。ContentProvider对象也以表的形式在数据资源库和数据的外部表现之间扮演着抽象层的角色。

注意:要访问一个提供器,通常需要在清单文件中要请求一个特殊的许可。更详细的描述请看“内容提供器许可”

例如,要从用户字典提供器中获得单词和位置的列表,你要调用ContentResolver.query()方法。Query()方法会调用由用户字典提供器定义的ContentProvider.query()方法。以下代码显示了ContentResolver.query()方法的调用:

// Queries the user dictionary and returns results
mCursor = getContentResolver().query(
UserDictionary.Words.CONTENT_URI, // The content URI of the words table
mProjection, // The columns to return for each row
mSelectionClause // Selection criteria
mSelectionArgs, // Selection criteria
mSortOrder); // The sort order for the returned rows

表2显示了query(Uri, projection, selection, selectionArgs, sortOrder)方法的参数是如何跟SQL的Select语句进行匹配的:

表2:query()方法跟SQL查询比较。

query()方法参数

SELECT关键字/参数

说明

Uri

FROM table_name

Uri映射到提供器中命名的表

projection

Col, col, col,…

每一行中要选取的列的数组。

selection

WHERE col= value

指定选择条件

selectionArgs

用于替换selectiong参数中“?”的值。

sortOrder

ORDER BY col, col,…

指定行的排序标准

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值