Pour les paramètres GET il y a deux alternatives :
Premier : Comme suggéré dans un commentaire en dessous de la question, vous pouvez simplement utiliser String et remplacer les placeholders des paramètres par leurs valeurs comme :
String uri = String.format("http://somesite.com/some_endpoint.php?param1=%1$s¶m2=%2$s",
num1,
num2);
StringRequest myReq = new StringRequest(Method.GET,
uri,
createMyReqSuccessListener(),
createMyReqErrorListener());
queue.add(myReq);
où num1 et num2 sont des variables de type String qui contiennent vos valeurs.
Deuxièmement : Si vous utilisez HttpClient externe plus récent (4.2.x par exemple) vous pouvez utiliser URIBuilder pour construire votre Uri. L'avantage est que si votre chaîne uri contient déjà des paramètres, il sera plus facile de la passer à la fonction URIBuilder
et ensuite utiliser ub.setQuery(URLEncodedUtils.format(getGetParams(), "UTF-8"));
pour ajouter vos paramètres supplémentaires. De cette façon, vous n'aurez pas à vérifier si " ?" est déjà ajouté à l'uri ou à en oublier& éliminant ainsi une source d'erreurs potentielles.
Pour les paramètres POST il sera probablement parfois plus facile que la réponse acceptée de le faire comme :
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);
par exemple, pour simplement remplacer le getParams()
méthode.
Vous pouvez trouver un exemple fonctionnel (ainsi que de nombreux autres exemples de base de Volley) dans le site Web de l'UE. Projet Andorid Volley Examples .
2 votes
Je n'ai pas vu toute la présentation, mais je suis presque sûr que le GET devrait être réalisable en ajoutant simplement les paramètres à l'URL (ex.
http://example.com?param1=val1¶m2=val2
)0 votes
Il semble qu'il n'y ait pas encore de documentation, mais vous pouvez vérifier la source ici. Android.googlesource.com/platform/frameworks/volley/+/master
0 votes
@JJ56 - C'est vrai, mais qu'en est-il des paramètres POST ? J'ai vu le code source mais je n'ai rien trouvé concernant les paramètres POST.
1 votes
Je me sens honteux de dire ça. Mais, si vous venez ici pour demander pourquoi votre requête n'a pas de corps sur votre serveur, assurez-vous que vous utilisez la méthode POST/PUT. Je suppose que je suis juste fatigué. J'espère que ce commentaire aidera quelqu'un ou que je me sentirai mieux.