URI生成器结果中包含意外的冒号(Android编程)

URI生成器结果中包含意外的冒号(Android编程),android,json,string,url,uribuilder,Android,Json,String,Url,Uribuilder,对于Uri.Builder,我使用scheme(String)并从中构建URL字符串。但是,在我的最后一个字符串中有一个冒号:它改变了查询的结果。这是我的密码 Uri.Builder toBuild = new Uri.Builder(); final String baseURL = "http://api.openweathermap.org/data/2.5/forecast/daily"; toBuild.scheme(baseURL)

对于Uri.Builder,我使用scheme(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);
我的结果字符串应该是

但结果却像

在baseURL字符串的daily之后显示冒号。请告知如何从字符串中删除冒号。谢谢。

之所以出现“:”是因为您使用的方案是(“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();

结果:

这是我在stll撞坏我的头后考虑的一种方法,我想知道为什么结肠会在那里。您至少知道原因吗?这是因为您正在使用scheme设置基本路径,该scheme应该是(“http”或“https”),并且在Url中,scheme后面总是有一个冒号,这就是为什么要添加冒号。也更新了我的答案