2016-07-19 2 views
0

Я пытаюсь загрузить изображение из следующей ссылки: https://fangkarte.de:8080/fangfisch/file/files/592036af55dfffca0155e01fe10002f7Загрузить изображение из URL в Android

В Chrome/IE изображение будет отображаться без проблем. Когда я пытаюсь загрузить изображение на Android, я не могу сохранить изображение в виде файла PNG. Каждый раз изображение будет сохранено в виде текстового файла, который содержит изображение как base64 String.

Кроме того, я попытался следующий код, но decodedByte равно нулю:

byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT); 
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 

Кто-нибудь есть идея, как я могу показать мое изображение из URL в качестве растрового изображения или который я предпочитаю, чтобы сохранить изображение на устройство как png?

+2

использовать его для загрузки img http://square.github.io/picasso/ – PeDuCKA

+0

Спасибо за это предложение, но, к сожалению, picasso не работает в этом конкретном случае. Я пробовал – Jan

+0

показать свою заявку – PeDuCKA

ответ

0

Использование Универсальный Image Лодер, чтобы загрузить изображение из Url Скачать универсальный образ Лодер и добавить в свою библиотеку папку и

Реализовать код, приведенный ниже, где вы хотите загрузить изображение

ImageLoader imageLoader = ImageLoader.getInstance(); 

imageLoader.init(ImageLoaderConfiguration.createDefault(context)); 

DisplayImageOptions options = new DisplayImageOptions.Builder().cacheInMemory(true) 
     .cacheOnDisc(true).resetViewBeforeLoading(true) 
     .showImageForEmptyUri(R.drawable.noimage) 
     .showImageOnFail(R.drawable.icon3) 
     .showImageOnLoading(R.drawable.loading).build(); 

imageLoader.displayImage(url, imageview, options); 
0

Для обработки изображений, Используйте Picasso, Glide, универсальный загрузчик изображений, Volley или Fresco.

Например, вы можете загружать изображения, хранить их в кеше памяти и обрабатывать отмены в списках просмотров/recyclerviews и т. Д. ...

Picasso.with (context) .load ("https://fangkarte.de:8080/fangfisch/file/files/592036af55dfffca0155e01fe10002f7") .placeholder ("someimagetillyourimagedownloads) .into (R.id.yourimageview);

Пикассо: https://github.com/square/picasso

Glide: https://github.com/bumptech/glide

Фреско: https://github.com/facebook/fresco (я использую это после того, как широко тестирование всех 3, за исключением залпа)

ИЮОЖ: https://github.com/nostra13/Android-Universal-Image-Loader

Подобные вещи можно сделать с помощью все вышеупомянутые библиотеки.

Я настоятельно рекомендую не пытаться обрабатывать изображения самостоятельно. Это может стать беспорядком, если вы новичок-разработчик Android.

0

Изображение, которое вы загружаете, очень велико ((860.000 байт)), чтобы сделать Bitmap из него. Поэтому BitmapFactory вернет значение null.

Масштаб изображения перед использованием.