我开发了一个连接到服务器并使用url从服务器访问xml的android应用程序。我正在使用HttpUrlConncetion进行连接。我已经写了这个连接代码在一个jar文件,我的应用程序正在使用此jar连接到server.This应用程序工作正常,当我使用模拟器,但是当我在我的手机上安装此应用程序然后它抛出异常。在尝试从服务器获取响应时在android中获取连接超时异常
我在清单文件中添加了intenet权限。
例外是
Connection timed out
org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method)
dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:388)
org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:236)
org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:470)
java.net.Socket.connect(Socket.java:1055)
org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection. (HttpConnection.java:106)
org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection. (HttpConnection.java:79)org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:353)org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:120)org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection
(HttpURLConnectionImpl.java:316)org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection
(HttpURLConnectionImpl.java:298)
org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect
(HttpURLConnectionImpl.java:236)
com.tracking.jar.XmlDownLoader.openConnection(XmlDownLoader.java:46)
com.tracking.jar.XmlDownLoader.downLoadXml(XmlDownLoader.java:18)
com.tracking.jar.BusDetails.getProviderRouteBeanList
(BusDetails.java:179)
com.vehicletracking.GetProviderRouteBeanListAsyncTask.doInBackground
(GetProviderRouteBeanListAsyncTask.java:17)
com.vehicletracking.GetProviderRouteBeanListAsyncTask.doInBackground
(GetProviderRouteBeanListAsyncTask.java:1)
android.os.AsyncTask$2.call(AsyncTask.java:216)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:337)
java.util.concurrent.FutureTask.run(FutureTask.java:169)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1119)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:612)
java.lang.Thread.run(Thread.java:1052)
我的手机是根深蒂固,我已经在安装应用程序调用拦截器应用程序,它阻止传入和传出呼叫。
我的连接代码是:
public String downLoadXml(String urlString) throws Exception{
urlString = urlString.replace(" ", "%20");
String xfStr = "";
HttpURLConnection httpConn = null;
try{
httpConn = openConnection(urlString);
InputStream in = httpConn.getInputStream();
InputStreamReader isr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(isr);
String str =null;
while((str = br.readLine())!= null){
xfStr = xfStr + str;
}
}catch(Exception e){
throw e;
}
finally{
if(httpConn!=null){
httpConn.disconnect();
}
}
return xfStr;
}
private HttpURLConnection openConnection(String urlString) throws IOException{
URL url = new URL(urlString);
HttpURLConnection httpConn = null;
httpConn = (HttpURLConnection) url.openConnection();
httpConn.setAllowUserInteraction(false);
httpConn.setInstanceFollowRedirects(false);
httpConn.setRequestMethod("GET");
httpConn.setConnectTimeout(60000);
httpConn.connect();
return httpConn;
}
+0
请检查服务器的地址是不是??你在本地网络上测试它吗? –
+0
从您的浏览器首先检查网址.. –
+0
@TGMCians是服务器的地址是正确的,并能够从浏览器访问它 –