Android での POST データの送信
POST リクエストは、通常はリソースを作成または更新するためにサーバーにデータを送信するために使用されます。 Webフォームの形式。この場合のタスクは、サーバー上の PHP スクリプトに POST データを送信し、結果を表示することです。
解決策 (Android 6.0 用に更新):
推奨されるアプローチは、HttpURLConnection クラスを使用することです。 POST データの送信方法を示す Java スニペットは次のとおりです。
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; } }
元のソリューション (Android 6.0 では古い):
Android 6.0 より前では、Apache HttpClient ライブラリが使用されていました。 HTTPポストに使用できますリクエスト:
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 } }
参照:
以上がHttpURLConnectionを使用してAndroidでPOSTデータを送信する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。