В моем приложении есть ImageView, который отображает изображение с URL-адреса.
Я загружаю изображение, используя этот метод:
Bitmap bitmap=null;
URL imageUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection)imageUrl.openConnection();
conn.setConnectTimeout(30000);
conn.setReadTimeout(30000);
conn.setInstanceFollowRedirects(true);
InputStream is=conn.getInputStream();
OutputStream os = new FileOutputStream(f);
Utils.CopyStream(is, os);
os.close();
bitmap = decodeFile(f);
return bitmap;
Это работает только с URL-адресами, содержащими цифры или английские буквы, и не работает с любыми другими символами (например, пробелами):
Хороший URL: http://site.com/images/image.png а>
Неверный URL: http://site.com/images/image 1. png
Я попытался изменить кодировку URL-адреса (URLEncoder.encode), но он меняет весь URL-адрес (включая косые черты и т. Д.).
Нужно ли заменять некоторые символы после кодирования? или может есть способ лучше?
Спасибо :)