Comment envoyer des données POST sous Android
Pour les développeurs maîtrisant PHP, JavaScript et d'autres langages de script mais novices en Java et Android, ce guide fournit une solution pour envoyer des données POST à un script PHP et afficher le résultat.
Approche mise à jour (Android 6.0 )
Cette solution mise à jour exploite AsyncTask, qui est recommandé pour les tâches en arrière-plan sous Android.
public class CallAPI extends AsyncTask<String, String, String> { @Override protected String doInBackground(String... params) { String urlString = params[0]; // URL to call String data = params[1]; // Data to post 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()); } } }
Approche originale (Android 5.1 et versions antérieures)
Pour les appareils exécutant Android 5.1 et versions antérieures, Apache HttpClient peut être utilisé :
public void postData() { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php"); List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("id", "12345")); nameValuePairs.add(new BasicNameValuePair("stringdata", "Hi")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); try { HttpResponse response = httpclient.execute(httppost); } catch (Exception e) { // Handle exceptions } }
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!