Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:在uribuilder中添加查询参数而不使用键_Java_Android_Uri - Fatal编程技术网

Java Android:在uribuilder中添加查询参数而不使用键

Java Android:在uribuilder中添加查询参数而不使用键,java,android,uri,Java,Android,Uri,我正在使用服务“”的web API检索Json响应 在Android中,我将URI生成器用作: public static URL buildUrl(String token, String item) { Uri builtUri = Uri.parse(BASE_URL).buildUpon() .appendQueryParameter(PARAM_TOKEN, token) .appendQueryP

我正在使用服务“”的web API检索Json响应

在Android中,我将URI生成器用作:

    public static URL buildUrl(String token, String item) {
        Uri builtUri = Uri.parse(BASE_URL).buildUpon()
                .appendQueryParameter(PARAM_TOKEN, token)
                .appendQueryParameter(PARAM_ITEM, item)
                .build();

        URL url = null;
        try {
            url = new URL(builtUri.toString());
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }

        return url;
    }
作为URI生成器“”的结果

我需要使用不带参数键的值“item”

我尝试使用“null”无效“”

我在网上查了三天,没找到答案


提前感谢您的帮助。

没有函数可以添加没有值的QueryParam,因此您可以添加一些伪值“”,例如,然后用空字符串替换它(替换(“=”,“”))

但我建议您自己构建查询,然后使用Uri.Builder的“query”函数附加queryString

public static URL buildUrl(String token, String item) {
    String query = new StringBuilder()
            .append(PARAM_TOKEN).append("=").append(token).append("&")
            .append(PARAM_ITEM).toString();

    Uri builtUri = Uri.parse(BASE_URL).buildUpon()
            .encodedQuery(query)
            .build();

    URL url = null;
    try {
        url = new URL(builtUri.toString());
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }

    return url;
}
但它要求BASE_URL没有任何查询参数。如果有,那么您必须从旧Uri的一部分构建新的Uri,但将查询替换为从基本URL查询和附加参数构建的您自己的查询

更改
。查询(query)
。编码查询(query)
对我有效。