android api 学习笔记:内容

来源:互联网 发布:人工智能研究生专业 编辑:程序博客网 时间:2024/05/21 16:57

1. Query() 与 SQL 查询对比。

query() 参数SELECT 关键字/参数说明UriFROM table_nameUri 映射至提供程序中名为 table_name的表。projectioncol,col,col,...projection 是应该为检索到的每个行包含的列的数组。selectionWHERE col =valueselection 会指定选择行的条件。selectionArgs(没有完全等效项。选择参数会替换选择子句中 ?占位符。)sortOrderORDER BYcol,col,...sortOrder 指定行在返回的 Cursor 中的显示顺序。2.内容 URI 是用于在提供程序中标识数据的 URI。内容 URI 包括整个提供程序的符号名称(其授权)和一个指向表的名称(路径。 当您调用客户端方法来访问提供程序中的表时,该表的内容 URI 将是其参数之一

content://user_dictionary/words:user_dictionary 字符串是提供程序的授权,words 字符串是表的路径。 字符串 content://(架构)始终显示,并将此标识为内容 URI。

3.请求权限:您需要使用<uses-permission>元素和提供程序定义的准确权限名称,在清单文件中指明您需要此权限

4.构建查询:用于指定要检索的行的表达式分割为选择子句和选择参数。 选择子句是逻辑和布尔表达式、列名称和值(变量 mSelectionClause)的组合。 如果您指定了可替换参数 ? 而非值,则查询方法会从选择参数数组(变量 mSelectionArgs)中检索值。

5.防止恶意输入:可使用一个用于将 ? 作为可替换参数的选择子句以及一个单独的选择参数数组。 执行此操作时,用户输入直接受查询约束,而不解释为 SQL 语句的一部分。 由于用户输入未作为 SQL 处理,因此无法注入恶意 SQL。请使用此选择子句,而不要使用串连来包括用户输入

6.将 Intent 发送至具有权限的应用,然后接收回包含“URI”权限的结果 Intent。 这些是特定内容 URI 的权限,将持续至接收该权限的 Activity 结束




原创粉丝点击