Maison > développement back-end > tutoriel php > Comment envoyer des données POST sous Android à l'aide d'AsyncTask et de méthodes plus anciennes ?

Comment envoyer des données POST sous Android à l'aide d'AsyncTask et de méthodes plus anciennes ?

Linda Hamilton
Libérer: 2024-12-19 02:31:13
original
224 Les gens l'ont consulté

How to Send POST Data in Android Using AsyncTask and Older Methods?

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;
    }
}
Copier après la connexion

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
    }
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal