在URL.openStream()Android上设置超时

我在我的应用程序中使用以下内容连接到URL并解析生成XML响应.我的麻烦是我无法找到一种方法来设置openStream()方法的超时,以便它只等待大约5秒,如果没有收到响应,则失败.它只是在等待和等待.有什么想法吗?

URL website = new URL(sb.toString());                         
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
DataHandler h = new DataHandler();
xr.setContentHandler(h);              
xr.parse(new InputSource(website.openStream()));        

解决方法:

弄清楚了.通过使用URLConnection并调用setConnectionTimeout和setReadTimeout方法,我能够实现我想要的.更新下面的代码….

URLConnection conn = new URL(sb.toString()).openConnection();
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
DataHandler h = new DataHandler();
xr.setContentHandler(h);              
xr.parse(new InputSource(conn.getInputStream()));       

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念