今天做android的一个下载功能,用自己机子上的tomcat做,在tomcat上下载东西,可是android系统老是提示错误说不能连接到我的tomcat,可是我明明启动了tomcat服务啊,而且代码我也检查了好就变了,没有错啊,这可是把我给郁闷坏了,相信很多初学者都会有这样的经历,呵呵...真是不知所措,挺让人郁闷的,我在这里和大家分享一下解决方法,呵呵...找到我这篇文章你就算是找到解决办法了。
原因其实很简单,
开始我的链接写的是:http://127.0.0.1:8090/项目的名字/文件的名字,坐过开发的人都会想到是这样写的,因为是本机啊,127.0.0.1就是本机,或者是用localhost,这是一样的,如果你是有局域网的,那用局域网的本地ip就不会有这个问题了,关键就是我们就是用家里的自己,局域网,就会出现这个错误。
02-18
14:47:47.957: warn/system.err(406): .net.connectexception:
/127.0.0.1:8090 - connection refused
02-18 14:47:47.976:
warn/system.err(406): at org..harmony.luni.net.plainsocketimpl.connect(plainsocketimpl.java:237)
14:47:47.976: warn/system.err(406): at org..harmony.luni.net.plainsocketimpl.connect(plainsocketimpl.java:521)
14:47:47.976: warn/system.err(406): at
java.net.socket.connect(socket.java:1019)
warn/system.err(406): at
org.apache.harmony.luni.internal.net.www.protocol.http.httpconnection.<init>(httpconnection.java:67)
14:47:47.989: warn/system.err(406): at
org.apache.harmony.luni.internal.net.www.protocol.http.httpconnectionmanager$connectionpool.gethttpconnection(httpconnectionmanager.java:151)
org.apache.harmony.luni.internal.net.www.protocol.http.httpconnectionmanager.getconnection(httpconnectionmanager.java:73)
14:47:47.997: warn/system.err(406): at
org.apache.harmony.luni.internal.net.www.protocol.http.httpurlconnection.gethttpconnection(httpurlconnection.java:826)
org.apache.harmony.luni.internal.net.www.protocol.http.httpurlconnection.connect(httpurlconnection.java:812)
org.apache.harmony.luni.internal.net.www.protocol.http.httpurlconnection.getinputstream(httpurlconnection.java:1054)
com.down.httpdownloader.download(httpdownloader.java:38)
02-18 14:47:47.997:
com.mp3.mp3listactivity.downloadxml(mp3listactivity.java:50)
com.mp3.mp3listactivity.onoptionsitemselected(mp3listactivity.java:38)
这是我错误信息的一部分,红色部分说的很明显了,连不上这个地址,后来查了一下,原来在android中10.0.2.2地址就是对本机的映射。
这是关键,所以我们只需要把ip改成这个地址,没问题了。呵呵...