ホームページ >バックエンド開発 >PHPチュートリアル >Android アプリケーションで POST データを送信するにはどうすればよいですか?
ソフトウェア開発者として、Android アプリケーションで POST データを送信する必要があることに気づくかもしれません。これは、プロジェクトの特定の要件に応じて、さまざまなアプローチを使用して実現できます。
よく知られているアプローチの 1 つは、Apache Http Client ライブラリを使用することです。このアプローチは時代遅れですが、Android バージョン 5.1 までは引き続き有効です。このメソッドを使用したサンプル コード スニペットを次に示します。
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 中国語 Web サイトの他の関連記事を参照してください。