可能重複:
getContentLength() returning -1 on some devices and not others爲什麼我的urlConnection.getContentLength大小始終爲-1?
我針對Android應用程序,將顯示從一個地方到另一個地方的路線。 所以首先我需要獲取kml文件然後解析。但是,我的解析大小是-1,這不是假設的。解析大小必須大於-1,但我無法得到它。誰能幫我嗎?謝謝!
// connect to map web service
StringBuilder urlString = new StringBuilder();
urlString.append("http://maps.google.com/maps?f=d&hl=en");
urlString.append("&saddr=");//from
urlString.append(Double.toString((double)src.getLatitudeE6()/1.0E6));
urlString.append(",");
urlString.append(Double.toString((double)src.getLongitudeE6()/1.0E6));
urlString.append("&daddr=");//to
urlString.append(Double.toString((double)dest.getLatitudeE6()/1.0E6));
urlString.append(",");
urlString.append(Double.toString((double)dest.getLongitudeE6()/1.0E6));
urlString.append("&ie=UTF8&0&om=0&output=kml");
Log.d("DrawPath","URL="+urlString.toString());
// get the kml (XML) doc. And parse it to get the coordinates(direction route).
Document doc = null;
HttpURLConnection urlConnection= null;
URL url = null;
try
{
url = new URL(urlString.toString());
urlConnection=(HttpURLConnection)url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.connect();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Log.d("Before parse", "size:" + urlConnection.getContentLength());
doc = db.parse(urlConnection.getInputStream());
可能重複:http://stackoverflow.com/questions/3617507/getcontentlength-returning-1-on-some-devices-and-not-others HTTP:// stackoverflow.com/questions/3418106/getcontentlength-return-1-only-in-wifi http://stackoverflow.com/questions/5428639/url-connection-returning-negative-value – 2011-06-06 11:43:35