为查询参数构建Uri Matcher

时间:2016-05-08 06:37:11

标签: android

我正在为我的内容提供商建立一个uriPatternMatcher 我的uri就像content://com.example.wordapp/wordlist?flashid=1,我使用Logger语句。 什么应该是我的模式匹配器?

我试过

public static final String CONTENT_AUTHORITY ="com.example.wordapp";
public static final Uri BASE_CONTENT_URI =Uri.parse("content://"+CONTENT_AUTHORITY);
public static final String PATH_WORD ="wordlist";
public static final String FLASHCARD_ID="flashid";

 matcher.addURI(authority, WordContractClass.PATH_WORD + "?"+ WordContractClass.WordListEntry.FLASHCARD_ID+"=#", WORD_WITH_FLASH_LIST);

匹配器显示输出未找到匹配

1 个答案:

答案 0 :(得分:0)

您正在错误地添加模式。从UriMatcher(http://developer.android.com/reference/android/content/UriMatcher.html)的文档中,您可以看到您的第二个参数应该是路径,第三个参数应该是您的uri应该匹配的代码。

我不确定你想要匹配的是什么,但是你应该看起来像:

// assuming pathWord is the path to the list and WORDS_WITH_FLASH_LIST is the code that will be returned on a successful match
matcher.addURI(authority, pathWord + "/#", WORDS_WITH_FLASH_LIST);

"#"意味着此路径中有多个条目。你不需要"?"你现在有。