1. 程式人生 > >android中網路請求url地址部分的寫法

android中網路請求url地址部分的寫法

新版介面的一些感受

寫部落格的介面又變化了,感覺更加的舒服了。不像原來介面那樣單一了,在一個介面上就能填寫關於文章的好多資訊,感覺體驗有了一點提高。不錯,表揚一下!

背景

專案不可避免會用到網路這一塊的東西,然後需要根據介面地址來獲取資料。那麼根據一個給定url地址的請求,你應該把url分為幾部分去拼接

URL的百度百科

在這裡我就說說我的做法,一些概念性的東西大家想要了解的話可以點選我,我是URL百度百科,可以讓大家瞭解一些基礎的知識。

網路請求時GET的寫法

比如一個url地址如下所示:

如果你用的是get請求,url直接拼接起來就可以了,如下所示:

String url = getResources().getString
(R.string.url_root) + getResources().getString(R.string.url_carMoveOneGrid) + "robotId=" + robotId + "&act=" + act;

上面程式碼片段中引用的string資源如下:

<!-- 介面地址-->
    <string name="url_root">http://192.168.1.2:8888/wcs/</string><!-- 介面地址的協議、伺服器地址和相同大路徑部分-->
    <string name="url_resendThePath"
>
resendOrder?</string><!-- 重發路徑--> <string name="url_carMoveOneGrid">robotAct?</string><!-- 小車移動一格-->

在程式碼片段中大家可以看到我分了三個部分來實現get請求時url地址的寫法:

第二部分:具體的路徑,這時候不同的url地址是不一樣的,即robotAct?部分

第三部分就是程式碼拼接起來,這裡就不多說了,大家都知道怎麼拼

這裡有的讀者會想,你為什麼第一部分要加/wcs進去呢?直接用http://192.168.1.2:12009

,把/wcs放到第二部分去不可以嗎?當然可以啊!但是你有沒有想過,如果你將來部署到其他地址,恰巧/wcs這塊發生了變化,不是/wcs了,而是其他的路徑,那麼你不是還要對每個具體的路徑做修改嗎?所以我將路徑部分的相同路徑也放到第一部分來寫,這樣就不怕路徑發生的變化了。當然我只是說一下我這種寫法有什麼好處,具體專案可能會不一樣,大家參考即可。

網路請求時POST的寫法

一般url地址都可以分為這幾部分:協議、IP地址(有的有埠)、路徑、詢問部分。

協議部分:http
它告訴瀏覽器如何處理將要開啟的檔案。最常用的模式是超文字傳輸協議(Hypertext Transfer Protocol,縮寫為HTTP),這個協議可以用來訪問網路。

ip地址部分:192.168.1.2:8888
伺服器的名稱或IP地址後面有時還跟一個冒號和一個埠號。它也可以包含接觸伺服器必須的使用者名稱稱和密碼。

路徑部分:/wcs/robotAct?
路徑部分包含等級結構的路徑定義,一般來說不同部分之間以斜線(/)分隔。

詢問部分:引數robotId和act
詢問部分一般用來傳送對伺服器上的資料庫進行動態詢問時所需要的引數。

這裡簡單的說了一下url地址的一些組成部分。用post提交請求的時候就要關注詢問部分了,你需要將robotId和act兩個引數用map組裝一下,呼叫請求框架的post方法,過載方法的時候引數使用組裝的map物件(我用的post請求都是如此)即可。

====================================

A little bit of progress every day!Come on!