Можно ли загружать изображение с удаленного сервера с помощью ImageView.setImageURI(Uri uri)?
Работает ли ImageView.setImageURI(Uri uri) с удаленными файлами?
Ответ 1
Короткий ответ: нет! Он не может.
Вы можете использовать ImageView.setImageURI(Uri uri), например, если uri содержит ссылку на локальный файл. Например: файл:///sdcard/images/thumb.png
Ответ 2
Чтобы загрузить изображение из каталога, его сначала нужно преобразовать в Drawable
. Вот фрагмент кода, который может помочь:
File file = new File ("/sdcard/1.jpg");
ImageView imageView = (ImageView) findViewById(R.id.icon);
imageView.setImageDrawable(Drawable.createFromPath(file.getAbsolutePath()));
Следует предупредить, что существует еще один метод для ImageView
, называемый setImageURI(URI uri)
. Этот метод используется для загрузки внешних файлов; он не работает с типом File
. Например, этот код не будет работать:
File file = new File ("/sdcard/1.jpg");
ImageView imageView = (ImageView) findViewById(R.id.icon);
imageView.setImageURI(Uri.fromFile(file));
Спасибо Мартину Виббельсу за этот пост.