2
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();


                        nameValuePairs.add(new BasicNameValuePair(
                                "product_name", product_name));
                        nameValuePairs.add(new BasicNameValuePair("brand",
                                brand_product));
                        nameValuePairs.add(new BasicNameValuePair("reference_price",
                                mrp_product));
                        nameValuePairs.add(new BasicNameValuePair("model",
                                model_product));

                        HttpPost httppost = new HttpPost(
                                "http://10.0.2.2/wic3/wic2/product/doadd");

                        httppost.setEntity(new UrlEncodedFormEntity(
                                nameValuePairs));
                        ResponseHandler<String> responseHandler = new BasicResponseHandler();
                        String response = SignUpActivity.httpclient.execute(
                                httppost, responseHandler);
                        Log.d("response", response);

                        Intent intent = new Intent(ShareProductActivity.this, ShareActivity.class);
                        startActivity(intent);

これは私に例外を与えます:

05-07 14:56:19.105: D/exception(1137): org.apache.http.conn.HttpHostConnectException: Connection to http://localhost refused

私はこれを検索し、誰もがに変更127.0.0.1すると言いますが10.0.2.2、私は使用していません127.0.0.1 私は問題がこのステップにあると思います:

String response = SignUpActivity.httpclient.execute(httppost, responseHandler);
4

2 に答える 2

5

Localhostは、定義上、ホスティングシステム(Androidデバイス自体)を指します。Androidデバイスで実行されているサーバーに接続しようとしない限り、それは機能しません。

127.0.0.1(localhostの名前)をエミュレーターをホストしているマシンの転送エイリアスに変更することを提案した人のアドバイスに従ってください。

ただし、これはエミュレータでのみ機能し、実際のデバイスでは機能しないことに注意してください。

于 2012-05-07T14:45:49.700 に答える
0

やるべき2つのこと。

http://10.0.2.2:8080/IPアドレスの代わりに1を使用してください

eclipseおよびを閉じて、avdそれらを再起動します。

于 2012-05-07T14:29:20.840 に答える