Uri詳解之——Uri結(jié)構(gòu)與代碼提取

代碼提取

上面我們通過(guò)實(shí)例講解了肉眼識(shí)別Uri更部分的方式,但在代碼中又要怎樣提取呢。下面就看看Uri中提取各部分的接口,依然以上面的Uri字符串為例:

[java]view plaincopy

http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id=4#harvic

getScheme() :獲取Uri中的scheme字符串部分,在這里即,http

getSchemeSpecificPart():獲取Uri中的scheme-specific-part:部分,這里是://www.java2s.com:8080/yourpath/fileName.htm?

getFragment():獲取Uri中的Fragment部分,即harvic

getAuthority():獲取Uri中Authority部分,即www.java2s.com:8080

getPath():獲取Uri中path部分,即/yourpath/fileName.htm

getQuery():獲取Uri中的query部分,即stove=10&path=32&id=4

getHost():獲取Authority中的Host字符串,即www.java2s.com

getPost():獲取Authority中的Port字符串,即8080

另外還有兩個(gè)常用的:getPathSegments()、getQueryParameter(String key)

List< String> getPathSegments():上面我們的getPath()是把path部分整個(gè)獲取下來(lái):/yourpath/fileName.htm,getPathSegments()的作用就是依次提取出Path的各個(gè)部分的字符串,以字符串?dāng)?shù)組的形式輸出。以上面的Uri為例:

[java]view plaincopy

String?mUriStr?="http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id=4#harvic";

Uri?mUri?=?Uri.parse(mUriStr);

List?pathSegList?=?mUri.getPathSegments();

for(String?pathItem:pathSegList){

Log.d("qijian","pathSegItem:"+pathItem);

}

打出來(lái)的列表為:

getQueryParameter(String key):在上面我們通過(guò)getQuery()獲取整個(gè)query字段:stove=10&path=32&id=4,getQueryParameter(String key)作用就是通過(guò)傳進(jìn)去path中某個(gè)Key的字符串,返回他對(duì)應(yīng)的值。

[java]view plaincopy

String?mUriStr?="http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id#harvic";

mUri?=?Uri.parse(mUriStr);

Log.d(tag,"getQueryParameter(\"stove\"):"+mUri.getQueryParameter("stove"));

Log.d(tag,"getQueryParameter(\"id\"):"+mUri.getQueryParameter("id"));


網(wǎng)址:http://blog.csdn.net/harvic880925/article/details/44679239

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、URI與Uri 大家可能經(jīng)常會(huì)看到在開(kāi)發(fā)時(shí),怎么有的時(shí)候是URI,有的時(shí)候是Uri,這是怎么回事? 名稱(chēng)如此相...
    Ten_Minutes閱讀 8,341評(píng)論 4 8
  • 轉(zhuǎn)載 :http://blog.csdn.net/harvic880925/article/details/446...
    ping0505閱讀 493評(píng)論 0 1
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • 之前在做圖像裁剪功能的時(shí)候涉及到了Uri,以及聯(lián)想到ContentProvider中也使用到了Uri,對(duì)這塊內(nèi)容還...
    陳利健閱讀 9,548評(píng)論 0 14
  • 項(xiàng)目里用到了許多Uri,Url,Urn相關(guān)東西,一直對(duì)其的定義模糊不清,趁迭代開(kāi)發(fā)周期,對(duì)一些模糊的東西弄清楚 內(nèi)...
    樸文閱讀 410評(píng)論 0 0

友情鏈接更多精彩內(nèi)容