一尘不染

如何在Android中向HTTP GET请求添加参数?

java android

我有一个尝试发送的HTTP GET请求。我尝试通过首先创建一个BasicHttpParams对象并将参数添加到该对象,然后调用setParams( basicHttpParms )我的对象,来将参数添加到此请求中HttpGet。此方法失败。但是,如果我手动将参数添加到URL中(即append ?param1=value1&param2=value2),它将成功。

我知道我在这里缺少任何东西,任何帮助将不胜感激。


阅读 489

收藏
2020-03-13

共1个答案

一尘不染

我使用NameValuePair和URLEncodedUtils列表创建所需的url字符串。

protected String addLocationToUrl(String url){
    if(!url.endsWith("?"))
        url += "?";

    List<NameValuePair> params = new LinkedList<NameValuePair>();

    if (lat != 0.0 && lon != 0.0){
        params.add(new BasicNameValuePair("lat", String.valueOf(lat)));
        params.add(new BasicNameValuePair("lon", String.valueOf(lon)));
    }

    if (address != null && address.getPostalCode() != null)
        params.add(new BasicNameValuePair("postalCode", address.getPostalCode()));
    if (address != null && address.getCountryCode() != null)
        params.add(new BasicNameValuePair("country",address.getCountryCode()));

    params.add(new BasicNameValuePair("user", agent.uniqueId));

    String paramString = URLEncodedUtils.format(params, "utf-8");

    url += paramString;
    return url;
}
2020-03-13