一直对Uri的结构比较模糊,今天弄android的内容提供者,因为里面大量用了UriMatcher,于是就详细看一下Uri.java这个类,得出了Uri的详细构结,Uri的结构可能有8种,详细如下:
1.完全Uri:
scheme://authority/path?query#fragment
2.其中"path"可不要:
scheme://authority?query#fragment
3.其中"query"可不要:
scheme://authority/path#fragment
4.其中"fragment"可不要:
scheme://authority/path?query
5.其中"path"和"query"可都不要:scheme://authority#fragment
6.其中"path"和"fragment"可都不要:scheme://authority?query
7.其中"query"和"fragment"可都不要:scheme://authority/path
8."path","query","fragment"都不要:scheme://authority
基中路径可以有多个,例如scheme://authority/path1/path2/path3?query#fragment(也就是路径分隔符'/'可以出现多次)
在很多其它的应用中(比如网页中的相对路径),连scheme都省了,但是android中,scheme是不能省略的.