2

次のようなコードを作成します。

try {
    int ct_id;
    String ct_name;
    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://10.0.2.2/update.php");
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        is = entity.getContent();
    }catch(Exception e){
        Log.e("log_tag", "Error in http connection"+e.toString());
    }
    //convert response to string
    try{
        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
        sb = new StringBuilder();
        sb.append(reader.readLine() + "\n");
        String line="0";
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
        is.close();
        result=sb.toString();
    }catch(Exception e){
        Log.e("log_tag", "Error converting result "+e.toString());
    }
    //paring data
    int max = 0;
    try{
        jArray = new JSONArray(result);
        JSONObject json_data=null;
        for(int i=0;i<jArray.length();i++){
            json_data = jArray.getJSONObject(i);
            ct_id=json_data.getInt("max(id)");
            ct_name=json_data.getString("date");
            max = ct_id;
        }
    }
    catch(JSONException e1){

} catch (ParseException e1) {
    e1.printStackTrace();
}

しかし、デバッグすると表示されました:

07-03 08:50:42.657: DEBUG/SntpClient(70): request time failed: java.net.SocketException: Address family not supported by protocol

それはどういう意味ですか?そしてそれを解決する方法は?

4

1 に答える 1

0

これはローカル URL のように見えます。Apache がポート 80 で実行されていますか? デスクトップ ブラウザでこの URL http://10.0.2.2/update.phpにアクセスしてみてください。正しく表示されますか。このエラーは通常、ソケットがサーバーとの接続を確立できない場合にのみ発生します。

于 2011-07-22T07:42:59.450 に答える