Charger une image à partir de l'url dans Android, que si les petites

Je suis en utilisant BitmapFactory.decodeStream pour charger une image à partir d'une url dans Android. Je veux seulement télécharger des images ci-dessous d'une certaine taille, et je suis actuellement à l'aide getContentLength pour vérifier cela.

Cependant, je me suis dit que getContentLength n'est pas toujours la taille du fichier, et dans ces cas je voudrais arrêter le téléchargement dès que je sais que le fichier est trop gros. Quelle est la bonne façon de le faire?

Voici mon code actuel. Je suis actuellement retourner la valeur null si getContentLength ne donnent pas de réponse.

HttpGet httpRequest = new HttpGet(new URL(urlString).toURI());
HttpClient httpClient = new DefaultHttpClient();
HttpResponse response = (HttpResponse) httpClient.execute(httpRequest);
HttpEntity entity = response.getEntity();
BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity); 
final long contentLength = bufHttpEntity.getContentLength();
if ((contentLength >= 0 && (maxLength == 0 || contentLength < maxLength))) {
    InputStream is = bufHttpEntity.getContent();
    Bitmap bitmap = BitmapFactory.decodeStream(is);
    return new BitmapDrawable(bitmap);
} else {
    return null;
}

OriginalL'auteur hpique | 2010-07-25