在java中构建URL字符串时出错

时间:2016-03-03 14:57:02

标签: java android string

我很难构建一个我想用于HttpURLConnection的URL字符串。

这是我要传递的字符串

http://api.fixer.io/latest?base=USD&symbols=USD,GBP

以上字符串的所有参数都是动态的,我使用的两个字符串是 part1 ,其他 default_actv2

我尝试以下列方式构建字符串

http://api.fixer.io/latest?base="+part1+"&symbols="+part1+","+default_actv2 

并以下列方式将其传递给jsonTask

new JSONTask().execute("http://api.fixer.io/latest?base="+part1+"&symbols="+part1+","+default_actv2);

当我打印值时,我的代码将其视为

http://api.fixer.io/latest?base=AED &symbols=AED ,INR

注意AED之后的额外空格,因为这样的字符串。我从服务器端收到错误。

有人可以帮我解释一下使用某些代码构建字符串的正确方法。我知道有很多线程可以回答这个问题,但不知怎的,我无法让这个东西起作用。

提前致谢

2 个答案:

答案 0 :(得分:3)

您可以在 part1 字符串上使用.trim()以处理额外空间。

答案 1 :(得分:2)

您可以使用Apache URIBuilder

URI uri = new URIBuilder()
        .setScheme("http")
        .setHost("api.fixer.io")
        .setPath("/latest")
        .addParameter("base", part1)
        .addParameter("symbol", part1 + "," + default_actv2)
        .build();
uri.toString();