ホームページ > バックエンド開発 > PHPチュートリアル > AsyncTask および古いメソッドを使用して Android で POST データを送信する方法?

AsyncTask および古いメソッドを使用して Android で POST データを送信する方法?

Linda Hamilton
リリース: 2024-12-19 02:31:13
オリジナル
231 人が閲覧しました

How to Send POST Data in Android Using AsyncTask and Older Methods?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート