如何使用多个参数创建动态网址?

时间:2014-05-14 09:33:28

标签: android url uri

我想用动态参数创建网址?

new Uri.Builder()
.scheme("http")
.authority("foo.com")
.path("someservlet")
.appendQueryParameter("param1", foo)
.appendQueryParameter("param2", bar)
.build();

上面的Uri类是android.net的成员

我有未知数量的参数,当我不知道参数的数量时,如何创建动态网址?

1 个答案:

答案 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>