作為軟體開發人員,您可能會發現自己需要在Android 應用程式中發送POST 資料。這可以使用多種方法來實現,具體取決於專案的特定要求。
一種眾所周知的方法是使用 Apache Http 用戶端程式庫。這種方法已經過時,但對於 5.1 之前的 Android 版本仍然適用。以下是使用此方法的範例程式碼片段:
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)); HttpResponse response = httpclient.execute(httppost); }
更現代的方法是利用 HTTPURLConnection 類別。此方法適用於Android 6.0以上版本。以下是使用HTTPURLConnection 的更新程式碼範例:
public class CallAPI extends AsyncTask<String, String, String> { @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()); } } }
選擇適當的方法時,必須考慮Android 版本相容性、實作難易程度以及特定應用的效率等因素應用。 Apache Http Client 和 HTTPURLConnection 都提供了在 Android 應用程式中傳送 POST 資料的可行選項。
以上是如何在Android應用程式中發送POST資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!