我想用动态参数创建网址?
new Uri.Builder()
.scheme("http")
.authority("foo.com")
.path("someservlet")
.appendQueryParameter("param1", foo)
.appendQueryParameter("param2", bar)
.build();
上面的Uri类是android.net的成员
我有未知数量的参数,当我不知道参数的数量时,如何创建动态网址?
答案 0 :(得分:1)
假定在您首先声明URIBuilder之前设置了nameValuePairs,然后通过List以迭代的方式添加所有参数及其键。
Uri uri;
Uri.Builder builder = new Uri.Builder();
builder.scheme("http")
.encodedAuthority("foo.com")
.appendEncodedPath("someservlet");
for (NameValuePair l : nameValuePairs)
{
builder.appendQueryParameter(l.getName(), l.getValue());
}
uri = builder.build();
最后,您可以从构建器对象中获取Uri对象。
有关如何构建NameValuePair列表的参考,请参阅此帖子: What is the use of List<NameValuePair> or ArrayList<NameValuePair>