当前位置:  开发笔记 > 编程语言 > 正文

Android中的URI构建器,奇数URL

如何解决《Android中的URI构建器,奇数URL》经验,为你挑选了2个好方法。

我正在尝试使用Android中的URI构建器来创建带变量的URL.我在Android中阅读过使用URI构建器或使用变量创建URL,但我不需要涉及一些我需要的符号.

我要创建的URL示例:

" https://commons.wikimedia.org/w/api.php?action=query&prop=categories|coordinates|pageprops&format=json&clshow=!hidden&coprop=type%7Cname%7Cdim%7Ccountry%7Cregion%7Cglobe&codistancefrompoint=38.11386944444445%7C13.356263888888888&generator= geosearch&重定向=&ggscoord = 38.11386944444445%7C13.356263888888888&ggsradius = 100&ggslimit = 10&ggsnamespace = 6&ggsprop =类型%7Cname%7Cdim%7Ccountry%7Cregion%7Cglobe&ggsprimary =所有&formatversion = 2 "

我想用变量代替ggscoord.我知道如何追加路径和查询参数......但我应该使用什么构建器方法用于%7C和| ?



1> Ugur Ozmen..:

为了修改查询,你可以使用appendQueryParameter来表示像"|"这样的普通字符串,你可以使用encodedQuery来预编码字符串,如"%7C".

预编码的查询参数没有附加方法.



2> starkshang..:

%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

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有