我試圖在Android中使用URI生成器來創建一個包含變量的URL。我已閱讀Use URI builder in Android or create URL with variables,但我需要的一些符號未在此列出。Android中的URI生成器,奇怪的URL
,我要創建URL的一個例子:
我會想用一個變量來代替ggscoord。我知道如何追加路徑和查詢參數......但是我應該爲%7C和|使用什麼構建器方法?
我試圖在Android中使用URI生成器來創建一個包含變量的URL。我已閱讀Use URI builder in Android or create URL with variables,但我需要的一些符號未在此列出。Android中的URI生成器,奇怪的URL
,我要創建URL的一個例子:
我會想用一個變量來代替ggscoord。我知道如何追加路徑和查詢參數......但是我應該爲%7C和|使用什麼構建器方法?
爲了修改查詢,你可以使用appendQueryParameter來處理普通的字符串,比如「|」,任何你可以使用encodedQuery來預編碼的字符串,例如「%7C」。
預編碼查詢參數沒有附加方法。
像%7C
這樣的字符已被編碼,可能是中文代碼或其他字符,所以如果您想在URL中添加一些參數,只需使用URLEncoder.encode即可對您的原始字符串進行編碼。 是這樣的:
Uri.Builder builder = new Uri.Builder();
builder.scheme("http")
.authority("www.lapi.transitchicago.com")
.appendPath("api")
.appendPath("1.0")
.appendPath("ttarrivals.aspx")
.appendQueryParameter("key", "[redacted]")
.appendQueryParameter("mapid",URLEncoder.encode("&&&","UTF-8"); //note this