问题背景:
这几天这个问题一直困扰着我,电脑上使用Tomcat部署的服务器,不管是用真机还是虚拟机,是用网络应用去请求服务器的json数据总是报错。
第一种是程序的问题
常见的问题包括两种:
1。没有赋权限
<uses-permission android:name="android.permission.INTERNET"/>
2。没有选择在子线程中加载数据请求,android 4.0之后,耗时操作都要求在子线程中进行,网络请求属于典型的耗时操作,因此,将网络请求的代码段加入:
new Thread(){
public run(){
//网络请求的代码
}
}.start();
PC的配置问题
在使用虚拟机访问PC时,通常使用IP:10.0.2.2来指向服务器地址,访问中经常会报错connection refused错误,此时应该关闭防火墙,再ping以下地址。
最终解决方案
将PC和android真机加入同一个公网,通常是一个wifi环境,查看PC的IP地址,在请求时填入,一切OK