Heim > Backend-Entwicklung > PHP-Tutorial > Wie sende ich POST-Daten in Android mit AsyncTask und älteren Methoden?

Wie sende ich POST-Daten in Android mit AsyncTask und älteren Methoden?

Linda Hamilton
Freigeben: 2024-12-19 02:31:13
Original
236 Leute haben es durchsucht

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

So senden Sie POST-Daten in Android

In der Android-Entwicklung ist es üblich, Daten mit Remote-Servern auszutauschen. Eine gängige Kommunikationsmethode sind HTTP-POST-Anfragen. Dieser Artikel führt Sie durch den Prozess des Sendens von POST-Daten an ein PHP-Skript und der Anzeige des Ergebnisses.

Android-API-Level-Kompatibilität

Das bereitgestellte Codebeispiel funktioniert auf Android 6.0 und höher. Für Android-Geräte mit Versionen vor 6.0 wird eine aktualisierte Antwort bereitgestellt.

Verwendung von 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;
    }
}
Nach dem Login kopieren

Verwendung des Apache Http Client (veraltet)

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
    }
}
Nach dem Login kopieren

Hinweis: Der Apache Die HTTP-Client-Lösung ist veraltet und funktioniert nur auf Android-Geräten bis 5.1. Verwenden Sie für Android 6.0 und höher das aktualisierte Codebeispiel aus der ersten Antwort.

Das obige ist der detaillierte Inhalt vonWie sende ich POST-Daten in Android mit AsyncTask und älteren Methoden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage