我正在撰写内容提供商,并尝试使用UriMatcher匹配URI。我已经编写了一些以...path/
或.../path/#
结尾的匹配器,并且效果很好。
但是,我的下一步是开始使用包含查询中的参数的URI - 即.../path/#?arg1=val1,arg2=val2
等。如何匹配URI?根据{{3}},它只接受" *"和"#"作为通配符,分别用于任何文本或数字。我如何匹配特定的参数模式?或者我应该只匹配URI的静态部分,然后在我的内容提供者的query()方法中解析参数?
我之所以匹配而不是解析,是因为有效查询中提供的参数数量可能会发生变化 - 即' ... / path?arg1 = val1 is a valid query, and so is '.../path?arg1=val1,arg2=val2
。我宁愿不必写"如果arg1存在,那么,如果arg1和arg2存在,那么等等"在我的内容提供商的查询功能中。它可以很快变得复杂,似乎URI匹配器有助于简化代码。