Heim > Backend-Entwicklung > PHP-Tutorial > So senden Sie POST-Daten in Android: AsyncTask vs. moderne Methoden?

So senden Sie POST-Daten in Android: AsyncTask vs. moderne Methoden?

Barbara Streisand
Freigeben: 2024-12-31 13:19:11
Original
696 Leute haben es durchsucht

How to Send POST Data in Android: AsyncTask vs. Modern Methods?

So senden Sie POST-Daten in Android

Bei der Entwicklung für Android ist es wichtig zu wissen, wie POST-Daten an Remote-Server gesendet werden. Dieser Artikel bietet eine umfassende Anleitung, wie Sie dies sowohl mit der veralteten AsyncTask als auch mit einem moderneren Ansatz erreichen können.

Veraltete AsyncTask-Methode

Der folgende Codeausschnitt zeigt, wie das geht Senden Sie POST-Daten mit der AsyncTask-Klasse:

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

    public CallAPI() {
        //set context variables if required
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected String doInBackground(String... params) {
        String urlString = params[0]; // URL to call
        String data = params[1]; //data to post
        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());
        }
    }
}
Nach dem Login kopieren

Aktualisierte Methode für Android 6.0

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 (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo senden Sie POST-Daten in Android: AsyncTask vs. moderne 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