是否可以(或推荐)通过Android中的URI将参数传递给内容提供商,类似于网址如何使用它们?也就是说,我可以在content:// URIs中使用名称/值对吗?
例如,我有一个可以根据名称进行搜索的搜索提供程序.我传递了这样的URI:
内容://com.example.app/name/john
这会让任何名字中都有"约翰"的人回归,包括约翰,约翰逊,约翰逊等.
我希望有选项(但不是要求)来搜索确切的名称而不是找到部分匹配.我在考虑做这样的事情:
内容://com.example.app/name/john确切=真的吗?
这会告诉搜索提供程序只返回与"John"完全匹配的名称.但我还没有在Android中看到任何其他类似参数的例子.有没有更好的办法?我在这里错过了什么?
谢谢!
jon*_*wah 12
如果要传递查询参数,可以在构造URI时使用appendQueryParameter()方法
LoaderFactory.createCursorLoader(this,
MyProvider.MY_CONTENT_URI.buildUpon().appendQueryParameter(
MyProvider.MY_PARAM_NAME,
myParamValue).build(), projection, null,
null, null);
Run Code Online (Sandbox Code Playgroud)
然后使用getQueryParameter()访问param值
String paramValue = uri.getQueryParameter(MyProvider.MY_PARAM_NAME);
Run Code Online (Sandbox Code Playgroud)
不,据我所知,任何参数都会从内容提供者网址中删除(尽管我不知道为什么),我通过使用“/”和某个前缀添加参数并手动解析它们来解决这个问题像这样:
content://com.example.app/name/john/paramexact/true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3930 次 |
| 最近记录: |