2013-05-22 2 views
0

У меня есть класс, который имеет ссылку на изображение. Это изображение может быть на сервере или среди доступных ресурсов приложения. Мне нужно сохранить расположение либо URL-адреса, либо доступного местоположения файла изображения. Чтобы справиться с этим, я использую атрибут Uri в классе.Используйте URI для хранения URL изображения или пути изображения

Прежде всего, это правильное решение? Затем, как я могу проверить, имеет ли Uri ссылку на ссылочную ссылку или ссылку на URL-адрес? И как я могу сохранить местоположение ресурса, который можно загрузить в Uri?

ответ

1

Что вы предлагаете one решение. Трудно сказать, является ли это правильным решением, не видя какого-либо кода.

Я не пробовал это сам, но, видимо, вы сможете использовать Uri к растяжимой, как это:

Uri uri = Uri.parse("android.resource://your.package.here/drawable/image_name"); 
InputStream stream = getContentResolver().openInputStream(uri); 

Это означает, что вы должны быть в состоянии хранить URI в виде строки в SharedPreferences , В следующий раз, когда вам нужно загрузить изображение, вы получите строку URI из SharedPreferences, и если, если строка начинается с «android.resource: //», вы загружаете изображение с помощью преобразователя контента и BitmapFactory.loadStream(). Если строка не начинается с «android.resource: //», вы получаете поток ввода к изображению в Интернете, используя любую инфраструктуру Http, которую вы решаете нам (OkHttp, UrlConnection, Android Async Http и т. Д.).

+0

Хорошо, спасибо! Я попробую. Еще один вопрос, пожалуйста ... в чем разница между URI и Uri? Я прочитал документацию, но я не получил ее ... –

+0

Взгляните на http://stackoverflow.com/a/1984225/1266551 В моем примере Uri идентифицирует определенный ресурс, но он ничего не говорит о его месторасположение. Решатель контента должен найти местоположение содержимого в Uri и предоставить ему входной поток. – britzl

0
Uri uri = Uri.parse("string"); 

В этой строке вы можете передать url или название или путь к изображению.

Смежные вопросы