gpt4 book ai didi

android - Volley - POST/GET 参数

转载 作者:IT老高 更新时间:2023-10-28 13:11:39 25 4
gpt4 key购买 nike

我在 Google IO 2013 上看到了有关 Volley 的 session ,我正在考虑改用 volley。 Volley 是否支持在请求中添加 POST/GET 参数?如果是,我该怎么做?

最佳答案

对于 GET 参数有两种选择:

首先:正如问题下方的评论中所建议的,您可以使用 String 并将参数占位符替换为它们的值,例如:

String uri = String.format("http://somesite.com/some_endpoint.php?param1=%1$s&param2=%2$s",
num1,
num2);

StringRequest myReq = new StringRequest(Method.GET,
uri,
createMyReqSuccessListener(),
createMyReqErrorListener());
queue.add(myReq);

其中 num1 和 num2 是包含您的值的字符串变量。

第二:如果您使用的是newer external HttpClient (例如 4.2.x)您可以使用 URIBuilder 来构建您的 Uri。优点是,如果您的 uri 字符串中已经有参数,则将其传递给 URIBuilder 然后使用 ub.setQuery(URLEncodedUtils.format(getGetParams(), "UTF- 8")); 添加您的附加参数。这样你就不会费心检查是否“?”已添加到 uri 中或遗漏了一些,从而消除了潜在错误的来源。

对于 POST 参数,有时可能比接受的答案更容易:

StringRequest myReq = new StringRequest(Method.POST,
"http://somesite.com/some_endpoint.php",
createMyReqSuccessListener(),
createMyReqErrorListener()) {

protected Map<String, String> getParams() throws com.android.volley.AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("param1", num1);
params.put("param2", num2);
return params;
};
};
queue.add(myReq);

例如只需覆盖 getParams() 方法。

您可以在 Andorid Volley Examples project 中找到一个工作示例(以及许多其他基本 Volley 示例)。 .

关于android - Volley - POST/GET 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16626032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com