我正在尝试使用 Android 中的 URI 构建器来创建带有变量的 URL。我已经阅读了Use URI builder in Android or create URL with variables,但我需要的一些符号不在其中。
我要创建的 URL 示例:
我想用一个变量替换 ggscoord。我知道如何附加路径和查询参数......但是我应该为 %7C 和 | 使用什么构建器方法 ?
我正在尝试使用 Android 中的 URI 构建器来创建带有变量的 URL。我已经阅读了Use URI builder in Android or create URL with variables,但我需要的一些符号不在其中。
我要创建的 URL 示例:
我想用一个变量替换 ggscoord。我知道如何附加路径和查询参数......但是我应该为 %7C 和 | 使用什么构建器方法 ?
为了修改查询,您可以将 appendQueryParameter 用于“|”之类的纯字符串,也可以将 encodeQuery 用于“%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