Как загрузить ImageView по URL в Android? [закрыто]

Это также зависит от того, как вы собираетесь читать из InputStream. Если вы собираетесь читать его символ / байт за раз (т. Е. Read ()), то BufferedInputStream уменьшит ваши накладные расходы, пошаговое выполнение массового чтения от вашего имени. Если вы собираетесь читать его в массив 4k или 8k byte / char, блок за раз тогда BuffredInputStream, вероятно, вам не пригодится.

506
задан Peter O. 28 January 2013 в 16:49
поделиться

1 ответ

Сначала вам нужно будет загрузить изображение

public static Bitmap loadBitmap(String url) {
    Bitmap bitmap = null;
    InputStream in = null;
    BufferedOutputStream out = null;

    try {
        in = new BufferedInputStream(new URL(url).openStream(), IO_BUFFER_SIZE);

        final ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
        out = new BufferedOutputStream(dataStream, IO_BUFFER_SIZE);
        copy(in, out);
        out.flush();

        final byte[] data = dataStream.toByteArray();
        BitmapFactory.Options options = new BitmapFactory.Options();
        //options.inSampleSize = 1;

        bitmap = BitmapFactory.decodeByteArray(data, 0, data.length,options);
    } catch (IOException e) {
        Log.e(TAG, "Could not load Bitmap from: " + url);
    } finally {
        closeStream(in);
        closeStream(out);
    }

    return bitmap;
}

Затем используйте Imageview.setImageBitmap, чтобы установить растровое изображение в ImageView

150
ответ дан 22 November 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: