ホームページ > バックエンド開発 > PHPチュートリアル > Android で POST データを送信する方法: AsyncTask と最新のメソッド?

Android で POST データを送信する方法: AsyncTask と最新のメソッド?

Barbara Streisand
リリース: 2024-12-31 13:19:11
オリジナル
708 人が閲覧しました

How to Send POST Data in Android: AsyncTask vs. Modern Methods?

Android で POST データを送信する方法

Android 向けに開発する場合、POST データをリモート サーバーに送信する方法を知ることが不可欠です。この記事では、非推奨の AsyncTask とより新しいアプローチの両方を使用してこれを実現する方法に関する包括的なガイドを提供します。

非推奨の AsyncTask メソッド

次のコード スニペットは、その方法を示しています。 AsyncTask を使用して POST データを送信するクラス:

public class CallAPI extends AsyncTask<String, String, String> {

    public CallAPI() {
        //set context variables if required
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @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 6.0 用の更新されたメソッド

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 (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }
}
ログイン後にコピー

以上がAndroid で POST データを送信する方法: AsyncTask と最新のメソッド?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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