Comment envoyer des données POST sous Android
Dans le développement Android, il est courant d'échanger des données avec des serveurs distants. Une méthode de communication courante consiste à utiliser les requêtes HTTP POST. Cet article vous guidera tout au long du processus d'envoi des données POST à un script PHP et d'affichage du résultat.
Compatibilité au niveau de l'API Android
L'exemple de code fourni fonctionne sur Android 6.0 et supérieur. Pour les appareils Android exécutant des versions antérieures à 6.0, une réponse mise à jour est fournie.
Utilisation d'AsyncTask
public class CallAPI extends AsyncTask<String, String, String> { @Override protected String doInBackground(String... params) { String urlString = params[0]; String data = params[1]; try { URL url = new URL(urlString); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); OutputStream out = new BufferedOutputStream(urlConnection.getOutputStream()); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, "UTF-8")); writer.write(data); writer.flush(); writer.close(); out.close(); urlConnection.connect(); } catch (Exception e) { System.out.println(e.getMessage()); } return null; } }
Utilisation du client Apache HTTP (obsolète)
public void postData() { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php"); try { List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("id", "12345")); nameValuePairs.add(new BasicNameValuePair("stringdata", "Hi")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpclient.execute(httppost); } catch (Exception e) { // TODO Auto-generated catch block } }
Remarque : L'Apache La solution Http Client est obsolète et ne fonctionne que sur les appareils Android jusqu'à 5.1. Pour Android 6.0 et versions ultérieures, utilisez l'exemple de code mis à jour fourni dans la première réponse.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!