-1

mysqlデータベースに緯度と経度の値を挿入しようとしていますが、次のエラーが表示されます

  1. http接続org.apache.http.conn.HttpHostConnectExceptionのエラー:* http://localhostへの接続が拒否されました*

    //My main.java code is :
    
    public void insertdata()
    {
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
     nameValuePairs.add(new BasicNameValuePair("Lat","34"));
    nameValuePairs.add(new BasicNameValuePair("Lon","72"));
    
    //http post
    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new      
       HttpPost("http://localhost/androidconnection/insertdata.php");
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        InputStream is = entity.getContent();
        Log.i("postData", response.getStatusLine().toString());
    }
    
    catch(Exception e)
    {
        Log.e("log_tag", "Error in http connection "+e.toString());
    }           
    

    }

    //サーバー側では、私のphp挿入コードは「insertdata.php」です

     <?php
        mysql_connect("localhost","root","");
         mysql_select_db("PeopleData");
       //retrieve the data
       $lat = $_POST['lat'];
      $lon = $_POST['lon'];
    
      $sql = "INSERT INTO coords (Lat, Lon) VALUES('$lat', '$lon')";
    
           if (!mysql_query($sql, $sqlCon))
        {
            die('Error: ' . mysql_error());
         }
       else
        {
          //echo "1 record added";
           }
    
                ?>
    
4

2 に答える 2

1

localhostコードが実行されている現在のマシンを指します。この場合はAndroidフォン(またはエミュレーター)です。また、Androidエミュレーターからホストコンピューターにアクセスするには、IPアドレス10.0.2.2を使用できます。

次のようにURLを変更します。

HttpPost("http://localhost/androidconnection/insertdata.php"); は次のようになります。HttpPost("http://10.0.2.2/androidconnection/insertdata.php");

于 2012-12-15T08:24:33.450 に答える
0

変換してみてください

localhost

あなたと

web server IP Address.

ここ、HttpPost("http://localhost/androidconnection/insertdata.php");

Internetまた、マニフェストファイルに権限が追加されていることを確認してください。

<uses-permission android:name="android.permission.INTERNET" />

お役に立てば幸いです。

ありがとう。

于 2012-12-15T08:19:26.240 に答える