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 に答える