当前位置: 首页 > 知识库问答 >
问题:

URI Builder结果中有一个意外的冒号(Android编程)

何正德
2023-03-14

Uri.Builder,我使用的是方案(String)并从那里构建一个URL字符串。但是,在我的最终字符串中有一个冒号符号:它会更改查询的结果。这是我的代码。

 Uri.Builder toBuild = new Uri.Builder();
        final String baseURL = "http://api.openweathermap.org/data/2.5/forecast/daily";

        toBuild.scheme(baseURL)
                .appendQueryParameter("zip", postal_Code[0])
                .appendQueryParameter("mode", "json")
                .appendQueryParameter("units", "metric")
                .appendQueryParameter("cnt", "7");

        String formURL = toBuild.toString();
        Log.v(LOG_TAG, "Formed URL: " + formURL);

我生成的字符串应该已 http://api.openweathermap.org/data/2.5/forecast/daily?zip=94043

但结果却像http://api.openweathermap.org/data/2.5/forecast/daily:?一样邮政编码=94043

冒号出现在baseURL字符串中的daily之后。请建议如何删除字符串中的冒号。谢了。

共有1个答案

百里智勇
2023-03-14

“:”是因为你使用应该是(“http”,“https”等)的方案来设置baseUrl,并且在url方案中总是跟着一个冒号,这就是为什么你会看到额外的冒号。

我会像这样一部分地构建这个URL:

    Uri.Builder builder = new Uri.Builder();
    builder.scheme("http")
            .authority("api.openweathermap.org")
            .appendPath("data")
            .appendPath("2.5")
            .appendPath("forecast")
            .appendPath("daily")
            .appendQueryParameter("zip", "94043")
            .appendQueryParameter("mode", "json")
            .appendQueryParameter("units", "metric")
            .appendQueryParameter("cnt", "7");
String formURL = builder.toString();

结果:http://api.openweathermap.org/data/2.5/forecast/daily?邮政编码=94043

 类似资料:
  • 在我看来,我的缓冲区包含关于最后一个数据包步骤(路由器->my home)的信息,这些信息解释了为什么TTL值是254以及为什么我用Traceroute找到了相同的两个IP: $>traceroute qwant.com traceroute to qwant.com(194.187.168.99),30跳最大,60字节数据包 172.17.0.1(172.17.0.1)0.026 ms 0.01

  • 问题内容: 给定一个变量,该变量包含巴黎时区的日期时间2000-01-01 00:01(冬季afaik中为UTC + 2): 我希望转换为UTC会导致日期时间为1999-12-31 22:01,但是却得到了: 我想念什么? 谢谢 问题答案: 不幸的是 ,在许多时区使用标准构造函数的参数“不起作用” 。 但是对于没有夏令时转换的时区来说是安全的,例如UTC: 您会注意到: “ LMT + 0:09:

  • 我有以下代码: 为什么它会打印Java流?

  • 我有以下代码,它将标记字符串以创建对象列表: 我预期的输出是 1#、#Jon#、#176 2#、#Jack#、#200 3#、#Jimmy#、#160 如果我把内部分界线更改为类似的东西,它会正常工作为什么会发生这种行为?

  • 问题内容: 我正在使用NumPy在Python中使用标准方法创建对称矩阵/数组: 现在让我们变得聪明: 等一下 左上和右下部分是对称的。如果我选择了较小的阵列怎么办? 好.... 只是要确保… 这是一个错误,还是我要学习一些有关NumPy数组的疯狂知识? 问题答案: 该操作返回该数组的 视图 ,这意味着未分配新数组。反过来,这意味着您正在同时读取和修改阵列。很难说出为什么某些大小或结果区域起作用的

  • 我做了一个练习,将某些数字提升到给定的幂。正是我遇到的问题: 我们使用整数a、b和n来创建以下序列: 将以a、b和n的形式为您提供q查询。对于每个查询,将与给定a、b和n值对应的序列打印为一行由n个空格分隔的整数。 输入格式 第一行包含一个整数q,表示查询的数量。q后续行的每一行i都包含三个空格分隔的整数,描述该查询的相应ai、bi和ni值。 输出格式 对于每个查询,在新行上打印相应的序列。每个系