Maison >Java >javaDidacticiel >Comment envoyer des données POST à ​​un script PHP depuis Android ?

Comment envoyer des données POST à ​​un script PHP depuis Android ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-30 03:29:33179parcourir

How to Send POST Data to a PHP Script from Android?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn