我正在为我的内容提供商建立一个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);
匹配器显示输出未找到匹配。
答案 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);
"#"意味着此路径中有多个条目。你不需要"?"你现在有。