Android decoder-> decode вернул false для загрузки растрового изображения

Обязательно перейдите к великому ответу Шехаряра . За этим последовало так много ответов и комментариев, что было бы легко запутаться и сдаться, но нет . Этот ответ работает .

Короче говоря, вы делаете три вещи :

(1) Отмените выбор Compact Empty Middle Packages.

(2) Refactor затем Rename каждый старый узел каталога, выбрав Change Package ( не Change Directory), чтобы соответствовать новому имени пакета. (Обязательно выполните предварительный просмотр изменений.)

(3) Отредактируйте файл build.gradle и сделайте APPLICATION_ID соответствующим новому имени пакета.

28
задан Richard 2 December 2010 в 19:40
поделиться

2 ответа

В FlushedInputStream есть ошибка (есть). он не работает на медленных соединениях, но вы можете попробовать мой магический код, чтобы это исправить.

Bitmap b = BitmapFactory.decodeStream(new FlushedInputStream(is));
imageView.setImageBitmap(b);

создайте статический класс вне вашего метода

 static class FlushedInputStream extends FilterInputStream {
        public FlushedInputStream(InputStream inputStream) {
            super(inputStream);
        }

        @Override
        public long skip(long n) throws IOException {
            long totalBytesSkipped = 0L;
            while (totalBytesSkipped < n) {
                long bytesSkipped = in.skip(n - totalBytesSkipped);
                if (bytesSkipped == 0L) {
                    int b = read();
                    if (b < 0) {
                        break;  // we reached EOF
                    } else {
                        bytesSkipped = 1; // we read one byte
                    }
                }
                totalBytesSkipped += bytesSkipped;
            }
            return totalBytesSkipped;
        }
    }

и вот, пожалуйста, теперь у вас не будет никаких проблем.

33
ответ дан 28 November 2019 в 03:11
поделиться

Я столкнулся с этой проблемой, используя Xamarin. Чтобы исправить это, я просто использовал универсальный компонент Xamarin Image Loader , и он работал как шарм.

Надеюсь, это поможет!

0
ответ дан 28 November 2019 в 03:11
поделиться
Другие вопросы по тегам:

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