0

サーバーから画像を読み込んで表示しようとしています。

public static Bitmap loadImageByURL(final String url,
        final Context context, final HttpClient httpClient) {
            HttpGet httpget = new HttpGet(url);
            HttpResponse response = httpClient.execute(httpget);
            HttpEntity entity = response.getEntity();
            if (entity != null) {
                data = entity.getContent();
            }
        }
        bitmap = BitmapFactory.decodeStream(data);
    } catch (Exception e) {
        // TODO: handle exception
    }
    return bitmap;
}

しかし、ビットマップは常に null です !!! 私は何を間違っていますか?URL は問題ありません。ブラウザと iOS で動作します。

編集1:

ブラウザでURLを開くと、次のようなものが表示されます:

/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYEBQYFBAYGBQYHBwYIChAKCgkJChQO DwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSgBBwcHCggK EwoKEygaFhooKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKP/AABEIAZABLAMBEQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAA AAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQci cRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeo qaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncA AQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYn 

それは何ですか ?)

4

1 に答える 1

0

まず、net との接続を作成します。

InputStream iStream=null;

URL imgUrl = new URL(strImageURL);
//strImageUR   image url you want to download. 

URLConnection urlCon = imgUrl.openConnection();
iStream = urlCon.getInputStream();
BufferedInputStream bis = new BufferedInputStream(iStream,128);
ByteArrayBuffer baf = new ByteArrayBuffer(128);
int current = 0;

while ((current = bis.read()) != -1) 
{
    baf.append((byte) current);
}
Bitmap bitmap=BitmapFactory.decodeByteArray(
  baf.toByteArray(), 
  0, 
  baf.toByteArray().length());

これはうまくいくはずです。

于 2012-12-10T09:02:28.317 に答える