【问题标题】:How to create dynamic url with multiple parameters?如何创建具有多个参数的动态 url?
【发布时间】:2014-05-14 09:33:27
【问题描述】:

我想创建带有动态参数的url?

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

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

参数个数未知,不知道参数个数如何创建动态url?

【问题讨论】:

  • 你已经回答了你的问题:.appendQueryParameter
  • 老兄在我的回答中附加了两个参数,我有多个附加参数,我不知道参数的数量
  • 哥们,参数我知道,但是参数个数是动态的(不固定)
  • 那又怎样?遍历它们并调用 appendQueryParameter... 这么简单,有什么问题?
  • 你能通过代码给我解决方案吗?我在 ArrayListList 中有参数现在给我解决方案兄弟

标签: android url uri


【解决方案1】:

鉴于 nameValuePairs 在您可以首先声明 URIBuilder 之前设置,然后通过 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();

终于可以从builder对象中获取Uri对象了。

有关如何构建 NameValuePair 列表的参考,请参阅这篇文章: What is the use of List<NameValuePair> or ArrayList<NameValuePair>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-13
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 2013-12-15
    • 2015-10-06
    相关资源
    最近更新 更多