Heim > Java > javaLernprogramm > Wie sende ich POST-Daten in Android mit HttpURLConnection?

Wie sende ich POST-Daten in Android mit HttpURLConnection?

DDD
Freigeben: 2024-12-25 10:14:12
Original
789 Leute haben es durchsucht

How to Send POST Data in Android Using HttpURLConnection?

Senden von POST-Daten in Android

POST-Anfragen werden verwendet, um Daten an einen Server zu senden, um eine Ressource zu erstellen oder zu aktualisieren, normalerweise in die Form eines Webformulars. In diesem Fall besteht die Aufgabe darin, POST-Daten an ein PHP-Skript auf einem Server zu senden und die Ergebnisse anzuzeigen.

Lösung (aktualisiert für Android 6.0):

Die Der empfohlene Ansatz ist die Verwendung der HttpURLConnection-Klasse. Hier ist ein Java-Snippet, das zeigt, wie POST-Daten gesendet werden:

public class CallAPI extends AsyncTask<String, String, String> {

    @Override
    protected String doInBackground(String... params) {
        String urlString = params[0];
        String data = params[1];
        OutputStream out = null;

        try {
            URL url = new URL(urlString);
            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
            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

Originallösung (veraltet für Android 6.0):

Vor Android 6.0 die Apache HttpClient-Bibliothek könnte für HTTP-Post verwendet werden Anfragen:

public void postData() {
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");

    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    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
    }
}
Nach dem Login kopieren

Referenzen:

  • https://developer.android.com/reference/java/net/HttpURLConnection.html
  • So fügen Sie mithilfe von POST Parameter zu HttpURLConnection hinzu NameValuePair

Das obige ist der detaillierte Inhalt vonWie sende ich POST-Daten in Android mit HttpURLConnection?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage