我正试图发送一个HTTP GET请求.我try 将参数添加到这个请求中,首先创建一个BasicHttpParams对象,并将参数添加到该对象中,然后对我的HttpGet对象调用setParams( basicHttpParms ).这种方法失败了.但如果我手动将参数添加到我的URL(即追加?param1=value1&param2=value2),它就会成功.

我知道我遗漏了一些东西,任何帮助都将不胜感激.

推荐答案

我使用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;
}

Android相关问答推荐

三星上的某些应用程序已禁用通知权限切换

Android深度链接配置中的URL片段匹配'

Android 14无法删除已配置的文件

格雷德的两个星号是什么意思?非路径

我想使用代码自动重命名我的Android存储中的文件夹

无法加载类';com.android.build.api.extension.AndroidComponentsExtension';

Kotlin为多个控件设置一个侦听器

(已解决)从最近的应用程序打开应用程序时出错

java.lang.ExceptionInInitializerError -- 原因:java.lang.NullPointerException

NFC getNdefMessage 在 Android 13 上写入标签后返回 null

用作输入参数的 Lambda 函数导致重组

在 Kotlin 中设置 startActivity() 时类型不匹配

LazyColumn 项目,隐式接收器无法在此上下文中调用单元

在 Kotlin 中打开新片段时如何对当前片段应用更改?

使用 capacitor cordova 插件的 Android Studio 错误

在jetpack compose中将图像添加到脚手架顶部栏

为什么按钮没有拉伸到屏幕边缘?

更新应用程序是否会取消对应用程序特定文件的权限?

如何根据加载图像的 colored颜色 绘制边框?

Android:在模块 jetified-play-services-measurement 和 jetified-play-services-measurement-impl 中发现重复类