Android で POST データを送信する方法
Android 開発では、リモート サーバーとデータを交換するのが一般的です。一般的な通信方法は、HTTP POST リクエストです。この記事では、POST データを PHP スクリプトに送信し、結果を表示するプロセスについて説明します。
Android API レベルの互換性
提供されているコード サンプルは Android で動作します6.0以降。 6.0 より前のバージョンを実行している Android デバイスの場合は、更新された回答が提供されます。
AsyncTask の使用
public class CallAPI extends AsyncTask<String, String, String> { @Override protected String doInBackground(String... params) { String urlString = params[0]; String data = params[1]; try { 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(); } catch (Exception e) { System.out.println(e.getMessage()); } return null; } }
Apache Http クライアントの使用(古い)
public void postData() { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php"); try { List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("id", "12345")); nameValuePairs.add(new BasicNameValuePair("stringdata", "Hi")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpclient.execute(httppost); } catch (Exception e) { // TODO Auto-generated catch block } }
注: Apache Http クライアント ソリューションは古いため、5.1 までの Android デバイスでのみ動作します。 Android 6.0 以降の場合は、最初の応答で提供された更新されたコード サンプルを使用してください。
以上がAsyncTask および古いメソッドを使用して Android で POST データを送信する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。