views:

35

answers:

1

I'm trying to obtain the size of a file before I download it. I use conn.getContentLength(); to do this and it works fine on my home computers Android 2.1 Emulator.

It however doesn't work once I run my app from my phone (either WiFi or 3G) and it also doesn't work when I run it from my work laptops Android 2.1 Emulator.

Does anyone know a workaround for this? Is there another way I can obtain the size of the file maybe without using HttpURLConnection.

+1  A: 

This information will not always be available. Usually you will know the length of the file you are downloading. Depending on the webserver, the protocol, the connection, and the method of downloading, this information may not always be available.

You should definitely modify your application so that it can handle this situation. I think you will find that different devices using different connection methods will offer different results with this.

Erick Robertson
I do check for the file size and if a -1 is returned I cater for it with a different function but I can no longer display the horizontal progress bar only the spinner... hence I'd like to display a horizontal bar so the user has a clear time left etc Thanks anyway
mlevit
Of course. That's perfectly understandable.
Erick Robertson