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



对于Uri。建设者,我使用方案(字符串),并从那里建立一个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&mode=json&units=metric&cnt=7

却以http://api.openweathermap.org/data/2.5/forecast/daily:?zip=94043&mode=json&units=metric&cnt=7

结尾

,冒号出现在baseURL字符串的日之后。请告知如何从字符串中删除冒号。谢谢。

":"来了,因为你正在设置baseUrl使用的方案应该是("http", "https"等),在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?zip=94043&模式= json&单位= metric&问= 7

相关内容

  • 没有找到相关文章

最新更新