在Android 中傳送POST 資料:綜合指南
簡介:
簡介:與互動時Android 應用程式的Web 服務經常需要發送帶有資料負載的POST 請求。 POST 請求允許開發人員將複雜的資料傳遞到伺服器端腳本進行處理並傳回結果。
Android 特定注意事項:與其他程式語言不同,Android由於其多執行緒架構,需要特別考慮網路操作。為了有效率地執行網路操作,必須使用非同步任務來避免阻塞 UI 執行緒。
在Android 中使用HTTP POST:發送有兩種主要方法在Android 中發布資料:
1. HttpClient 方法(已棄用):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)); httpclient.execute(httppost); }
程式碼片段:
2. HttpURLConnection 方法:public class CallAPI extends AsyncTask<String, String, String> { @Override protected String doInBackground(String... params) { String urlString = params[0]; String data = params[1]; URL url = new URL(urlString); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); OutputStream 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(); } }
在這兩種方法中,POST 資料通常使用鍵值對進行格式化並以文字/純文字或應用程式/x-www-form -urlencoded
結論:POST 請求是Android應用程式中與 Web 服務互動的關鍵技術。透過利用適當的方法,開發人員可以有效地將資料傳送到伺服器端腳本並檢索所需的結果。以上是如何在 Android 應用程式中傳送 POST 資料:HttpClient 和 HttpURLConnection 指南?的詳細內容。更多資訊請關注PHP中文網其他相關文章!