用android访问mysql。我是 通过php取mysql数据的,在eclipse上可以正常运行,数据可以取出并且正常显示。但是在真机调试的时候就不行,如下代码:
try{
/*创建一个HttpClient的一个对象*/
HttpClient httpclient = new DefaultHttpClient();
/*创建一个HttpPost的对象*/
HttpPost httppost = new HttpPost("http://192.168.1.104/te.php");
/*设置请求的数据*/
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
/*创建HttpResponse对象*/
HttpResponse response = httpclient.execute(httppost);
/*获取这次回应的消息实体*/
HttpEntity entity = response.getEntity();
/*创建一个指向对象实体的数据流*/
is = entity.getContent();
}catch(Exception e){
System.out.println("Connectiong Error");
}
当调试到HttpResponse response = httpclient.execute(httppost); 这一步时。程序就没反映了。
控制台信息:
[2012-04-15 15:05:18 - httptry] Starting activity com.ht.HttptryActivity on device 0403994A1501900C
[2012-04-15 15:05:19 - httptry] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.ht/.HttptryActivity }
[2012-04-15 15:05:19 - httptry] Attempting to connect debugger to 'com.ht' on port 8600
代码在模拟器上完成能运行,但是在真机上就不行了。
这怎么回事阿?
------解决方案--------------------
http://192.168.1.104/你这个是局域网的IP地址,虽然说是你本地服务器,但在公网(外网)是无法访问的,你可以随意让你其他地方上网的QQ好友访问这个网址,是根本打不开的。而手机上网用的是公网,手机是不访问你局域网的,所以也就无法连到这个IP地址。