首页 > 后端开发 > php教程 > 如何在 Android 中使用 AsyncTask 和旧方法发送 POST 数据?

如何在 Android 中使用 AsyncTask 和旧方法发送 POST 数据?

Linda Hamilton
发布: 2024-12-19 02:31:13
原创
225 人浏览过

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 及更高版本,请使用第一个响应中提供的更新的代码示例。

以上是如何在 Android 中使用 AsyncTask 和旧方法发送 POST 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板