Android での POST データの送信: 総合ガイド
概要:
と対話するときAndroid アプリケーションから Web サービスを利用する場合、多くの場合、データ ペイロードを含む POST リクエストを送信する必要が生じます。 POST リクエストを使用すると、開発者は複雑なデータをサーバー側のスクリプトに渡して処理し、結果を返すことができます。
Android 固有の考慮事項:
他のプログラミング言語とは異なり、Android にはマルチスレッド アーキテクチャのため、ネットワーク操作に関する特別な考慮事項が必要になります。ネットワーク操作を効率的に実行するには、非同期タスクを使用して UI スレッドのブロックを避けることが重要です。
Android での HTTP POST の使用:
送信には 2 つの主なアプローチがあります。 Android での POST データ:
1. HttpClient アプローチ (非推奨):
従来の HttpClient アプローチは、古いバージョンの Android に含まれている Apache 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 アプローチ:
HttpURLConnection アプローチは、最近の Android バージョンで POST データを送信するために推奨される方法です。より軽量で、非同期タスクに適しています。
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 データはキーと値のペアを使用してフォーマットされ、text/plain またはapplication/x-www-form-urlencoded content.
結論:
POST リクエストは、Android アプリケーションで Web サービスと対話するための重要なテクニックです。適切なアプローチを活用することで、開発者はサーバー側のスクリプトにデータを効率的に送信し、目的の結果を取得できます。
以上がAndroid アプリケーションで POST データを送信する方法: HttpClient と HttpURLConnection のガイド?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。