Android UriMatcher Uri*和#差异

Android UriMatcher Uri*和#差异,android,uri,android-contentprovider,Android,Uri,Android Contentprovider,我试图基于几个示例实现自己的ContentProvider,但我对UriMAtcher中的不同方法感到困惑。例如: 用#显示它,如下所示: sURIMatcher.addURI("contacts", "people", PEOPLE); sURIMatcher.addURI("contacts", "people/#", PEOPLE_ID); sURIMatcher.addURI("contacts", "people/#/phones", PEOPLE_PHONES); sURIMatch

我试图基于几个示例实现自己的
ContentProvider
,但我对
UriMAtcher
中的不同方法感到困惑。例如: 用
#
显示它,如下所示:

sURIMatcher.addURI("contacts", "people", PEOPLE);
sURIMatcher.addURI("contacts", "people/#", PEOPLE_ID);
sURIMatcher.addURI("contacts", "people/#/phones", PEOPLE_PHONES);
sURIMatcher.addURI("contacts", "people/#/phones/#", PEOPLE_PHONES_ID);
matcher.addURI(authority, "rooms", ROOMS);
matcher.addURI(authority, "rooms/*", ROOMS_ID);
matcher.addURI(authority, "rooms/*/sessions", ROOMS_ID_SESSIONS);
但在谷歌的“”参考应用程序中,它使用的
*
如下:

sURIMatcher.addURI("contacts", "people", PEOPLE);
sURIMatcher.addURI("contacts", "people/#", PEOPLE_ID);
sURIMatcher.addURI("contacts", "people/#/phones", PEOPLE_PHONES);
sURIMatcher.addURI("contacts", "people/#/phones/#", PEOPLE_PHONES_ID);
matcher.addURI(authority, "rooms", ROOMS);
matcher.addURI(authority, "rooms/*", ROOMS_ID);
matcher.addURI(authority, "rooms/*/sessions", ROOMS_ID_SESSIONS);
有人能解释这两种方法的区别吗?

参考官方文件:

在API级别1中添加
添加要匹配的URI,以及匹配此URI时要返回的代码。URI节点可以是完全匹配字符串、匹配任何文本的标记“*”或只匹配数字的标记“#”。

URI节点可以是完全匹配字符串、匹配任何文本的标记“*”或只匹配数字的标记“#”。来源:如果这对你有帮助,请接受答案。:)