UriMatcher Uri*和#差异

ole*_*men 5 android uri android-contentprovider

我试图ContentProvider基于一些例子来实现我自己,但我对它的不同方法感到困惑UriMAtcher.例如: JavaDoc#这样的方式显示它:

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);
Run Code Online (Sandbox Code Playgroud)

但在谷歌的" iosched "参考应用程序中它使用*如下:

matcher.addURI(authority, "rooms", ROOMS);
matcher.addURI(authority, "rooms/*", ROOMS_ID);
matcher.addURI(authority, "rooms/*/sessions", ROOMS_ID_SESSIONS);
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释这两种方法的区别吗?

gau*_*ain 9

请参阅官方文档:http://developer.android.com/reference/android/content/UriMatcher.html.

public void addURI (String authority, String path, int code)
Run Code Online (Sandbox Code Playgroud)

在API级别1中添加添加要匹配的URI,以及匹配此URI时要返回的代码.URI节点可以是精确匹配字符串,与任何文本匹配的标记"*",或仅匹配数字的标记"#".