我试图基于几个示例来实现自己的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);
但是在Google的“iosched”引用应用中,它使用
*
像这样:matcher.addURI(authority, "rooms", ROOMS);
matcher.addURI(authority, "rooms/*", ROOMS_ID);
matcher.addURI(authority, "rooms/*/sessions", ROOMS_ID_SESSIONS);
谁能解释这两种方法的区别?
最佳答案
请引用官方文档:http://developer.android.com/reference/android/content/UriMatcher.html。
public void addURI (String authority, String path, int code)
在API级别1中添加
添加一个URI进行匹配,并添加匹配该URI时返回的代码。 URI节点可以是完全匹配的字符串,可以是与任何文本匹配的 token “*”,也可以是仅与数字匹配的 token “#”。
关于android - UriMatcher Uri *和#的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29430737/