J'essaie de faire une demande postale à une API que j'ai créée dans Visual Studio. L'API fonctionne et j'ai finalement réussi à trouver du code qui me permet de me connecter (et ce n'est pas obsolète). Le problème est que ce code a été fait pour une demande d'obtention pendant que je dois faire un message. J'ai créé deux cases où j'insère les données que je veux passer (utente, mot de passe) et j'ai créé un bouton qui prend les données du Boxex et les convertit en chaîne.
J'ai essayé déjà de chercher beaucoup d'exemples et de tutoriels qui montrent comment faire une demande postale, mais la majorité sont très âgées et ne fonctionne plus dans le studio Android, ou du moins, je ne peux pas leur faire fonctionner. P>
Maintenant, il s'agit de la fonction qui devrait être l'envoi des données, je n'ai pas touché le code car je ne sais pas vraiment quoi modifier sauf la méthode de la demande. P>
private StringRequest searchNameStringRequest(final String utente, final String password) { String url = "http://192.168.1.11:57279/api/utente"; StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { @Override public void onResponse(String response) { System.out.println(response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(MainActivity.this,"Service Unavailable",Toast.LENGTH_SHORT).show(); error.printStackTrace(); } }) { @Override protected Map<String, String> getParams() { Map<String,String> map = new HashMap<>(); map.put("user", utente.trim()); map.put("password",password.trim()); return map; } }; RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); requestQueue.add(request); return request; }
3 Réponses :
String url = "your url"; StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { @Override public void onResponse(String response) { System.out.println(response); dialog.dismiss(); try { // your logic when API sends your some data } } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { dialog.dismiss(); Toast.makeText(context,"Service Unavailable",Toast.LENGTH_SHORT).show(); error.printStackTrace(); } }){ //This is how you will send the data to API @Override protected Map<String, String> getParams(){ Map<String,String> map = new HashMap<>(); map.put("name",username.getText().toString()); map.put("password",password.getText().toString()); return map; } }; RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); requestQueue.add(request); }
J'ai essayé votre réponse et ça va au service indisponible, c'est un problème avec l'API Droite?
Avez-vous ajouté cette
Oui, j'essaie de voir le commentaire de Saltae pour le faire fonctionner
Voici un bon tutoriel, je l'ai essayé et cela a fonctionné de manière transparente. P>
Login Android et enregistrement avec PHP, MySQL et SQLite P>
Vous pouvez sauter la partie SQLite et la partie phpmyadmin. P>
Merci de votre réponse, j'ai réussi à résoudre ce problème après cette question: Stackoverflow.com/questions/33573803/...
Cela fonctionne après cette question: p>
Comment envoyer une demande postale en utilisant Volley avec corps de cordes? p>
Merci à vous tous pour votre intérêt. P>
Dupliqué possible de Volley - Post / Obtenir des paramètres