Rumah >Java >javaTutorial >Bagaimana untuk Menghantar Data POST dalam Android Menggunakan HttpURLConnection?

Bagaimana untuk Menghantar Data POST dalam Android Menggunakan HttpURLConnection?

DDD
DDDasal
2024-12-25 10:14:12742semak imbas

How to Send POST Data in Android Using HttpURLConnection?

Menghantar Data POST dalam Android

Permintaan POST digunakan untuk menghantar data ke pelayan untuk mencipta atau mengemas kini sumber, biasanya dalam bentuk borang web. Dalam kes ini, tugasnya adalah untuk menghantar data POST ke skrip PHP pada pelayan dan memaparkan hasilnya.

Penyelesaian (Dikemas kini untuk Android 6.0 ):

The pendekatan yang disyorkan ialah menggunakan kelas HttpURLConnection. Berikut ialah coretan Java yang menunjukkan cara menghantar data POST:

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;
    }
}

Penyelesaian Asal (Lapuk untuk Android 6.0 ):

Sebelum Android 6.0, perpustakaan Apache HttpClient boleh digunakan untuk HTTP Post permintaan:

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
    }
}

Rujukan:

  • https://developer.android.com/reference/java/net/HttpURLConnection.html
  • Cara menambah parameter pada HttpURLConnection menggunakan POST menggunakan NameValuePair

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

Kenyataan:
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