0

我正在尝试使用 HttpPost 发送带有一些参数的 URL,但没有成功。我正在使用这段代码:

public void Exchange()
{
    final ProgressDialog pd = ProgressDialog.show(this, null, ResourceBundle.getBundle("lang").getString("doTheAction"), true, false);
        new Thread(){
                public void run() {

                    HttpClient httpclient = new DefaultHttpClient();
                    try {
                        httpclient.execute(new HttpPost(URL));
                        Merchant.this.runOnUiThread(new Runnable(){
                            @Override
                                public void run(){
                                    Again();
                                } 
                           });

                    } catch (IOException e) { e.printStackTrace(); }
                    finally { httpclient.getConnectionManager().shutdown(); }
                    pd.dismiss();
                }
        }.start();
}

它不做任何事情,但它必须更改 MySQL 数据库上的一些值。有人能帮我吗?似乎这一切都是正确的。

先感谢您!

4

2 回答 2

1

您可以使用此功能通过 API 将数据发布到服务器,然后更改 MySQL 数据库上的某些值是服务器端任务

    public static String post(String to, List <NameValuePair> params) {
        try {
            HttpClient client = new DefaultHttpClient();
            HttpPost post = new HttpPost(to);
            UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params,HTTP.UTF_8);
            post.setEntity(ent);
            HttpResponse responsePost = client.execute(post);  
            HttpEntity resEntityPost = responsePost.getEntity();  
            if (resEntityPost != null) return EntityUtils.toString(resEntityPost);
        } catch (Exception e) {
            Log.e("POST", e.toString());
        }
        return null;
    }
于 2012-04-07T19:38:32.300 回答
0

您可能需要检查HttpResponse返回的httpClient.execute(). 您可能想检查response.getStatusLine().getStatusCode()它是否不是 200。您可能还想检查您的服务器日志它是否收到任何内容?还有你确定IOException不是扔的吗?

于 2012-04-07T19:36:22.163 回答