我创建了这样的代码:
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
那是什么意思?以及如何解决它?
答案 0 :(得分:0)
这看起来像是一个本地网址,你确定你的apache在端口80上运行吗?您可以尝试在桌面浏览器中访问此网址http://10.0.2.2/update.php并正确查看内容。仅当套接字无法与服务器建立连接时,才会出现此错误。