Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menghantar Data POST dalam Android: AsyncTask vs. Kaedah Moden?

Bagaimana untuk Menghantar Data POST dalam Android: AsyncTask vs. Kaedah Moden?

Barbara Streisand
Lepaskan: 2024-12-31 13:19:11
asal
696 orang telah melayarinya

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

Cara Menghantar Data POST dalam Android

Apabila membangun untuk Android, adalah penting untuk mengetahui cara menghantar data POST ke pelayan jauh. Artikel ini menyediakan panduan komprehensif tentang cara mencapai perkara ini menggunakan kedua-dua AsyncTask yang telah ditamatkan dan pendekatan yang lebih moden.

Kaedah AsyncTask yang ditamatkan

Coretan kod berikut menunjukkan cara untuk hantar data POST menggunakan kelas AsyncTask:

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());
        }
    }
}
Salin selepas log masuk

Kaedah Kemas Kini untuk 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
    }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data POST dalam Android: AsyncTask vs. Kaedah Moden?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan