Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.62
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
#1

Путь к файлу и графические ресурсы - Программирование Android

07.07.2012, 02:06. Просмотров 3750. Ответов 7
Метки нет (Все метки)

Понимаю, что вопрос детский, но тем не менее...
Есть строковая переменная, содержащая название файла, например:
Java
1
String fileName="picture"
В папке res\drawable приложения лежит мой файл picture.png

Теперь задача - нужно установить этот файл в качестве картинки для ImageView

Пробовал следующим образом:
Java
1
Drawable picture=Drawable.createFromPath("res/drawable/picture.png");
Не ругается, но и не происходит ничего. Я не так задал путь?
И еще вопрос: изображение это будет масштабироваться. Какой есть способ, исходя из изложенных данных, чтобы поменьше израсходовать память?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2012, 02:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Путь к файлу и графические ресурсы (Программирование Android):

Путь к файлу - Программирование Android
Пишу приложение под андроид,возникла такая сложность, когда сохраняю файл,не понимаю,куда он сохраняется. Понимаю,что где то он должен...

Узнать абсолютный путь к файлу - Программирование Android
как можно узнать абсолютный путь к файлу? В классе наследуемом от Фрагмент использовал getActivity,а как еще можно, если класс наследуеться...

Работа с txt файлами в Android. Путь к файлу - Программирование Android
Здравствуйте! Уже 3ий день не могу разобраться с тем, как считывать из txt файла. Пишу на Java в IntelliJ IDEA. Я использую ф-ю...

Получить путь к текстовому файлу по его Uri - Программирование Android
Доброго времени суток. Необходимо прочитать и десериализовать файл XML. Запуская неявный Intent указываю нужный файл и в...

Как из data.getData() получить путь к файлу? - Программирование Android
Добрый вечер! Столкнулся с необходимость открыть изображение из галереи устройства. С этой целью использовал: 1) Доступ к галереи...

У нас был eclipse ,windows 8 x64 и куча фигни [ Filed to load the JNI shared libray "путь к файлу"] - Программирование Android
Сообственно всё в название темы. Винда x64(windows 8) яву качал со сторонего ресурса,с оофф сайта не качает.(платформа не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.07.2012, 03:01 #2
imageView.setImageResource(R.drawable.picture);

Добавлено через 8 минут
Масштабирование:
android:scaleType="scaleType"
imageView.setScaleType (ImageView.ScaleType scaleType)
0
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
07.07.2012, 03:16  [ТС] #3
Нет, с
Java
1
ImageView.setImageResource(R.drawable.picture);
все понятно. Суть в том, что я беру строковое название картинки из XML
и мне надо эту строку либо в Drawable, либо в ресурс, либо во что там угодно, только бы она картинкой стала в итоге.
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.07.2012, 03:28 #4
Java
1
2
3
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("picture", R.drawable.picture);
imageView.setImageResource(map.get("picture"));
Добавлено через 2 минуты
Попробуй так:
"android.resource://[package]/[res type]/[res name]"
Java
1
String path = "android.resource://" + getPackageName() + "/drawable/" + fileName;
0
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
08.07.2012, 00:28  [ТС] #5
Нет, не видит...
Вот надо ж какой глупый затык!
т. е., получается, я знаю как называется файл, знаю где он лежит, но применить его не могу.
Может можно как-то строковое значение "R.drawable.picture" переделать в int для указания ресурса... ((
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
08.07.2012, 01:37 #6
Да, почитайте про рефлексию.

Добавлено через 3 минуты
http://www.quizful.net/post/java-reflection-api

Добавлено через 37 минут
О, у меня вот так получилось:
Java
1
imageView.setImageResource(getResources().getIdentifier(fileName, "drawable", getPackageName()));
1
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
08.07.2012, 02:17  [ТС] #7
Респект!
Заработало. Это ж надо было так усложнить такую естественную, вроде, вещь!
Спасибо.
0
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
12.07.2012, 11:54 #8
я так делал:
Java
1
2
3
4
5
6
7
            try {
                InputStream is = getAssets().open("img/" + mGameState.PictureNameSmall);
                Drawable d = Drawable.createFromStream(is, mGameState.PictureNameSmall);
                imageViewSmall.setImageDrawable(d);
            } catch (IOException e) {
                Log.e(toString(), "Ошибка открытия файла: " + e.getMessage());
            }
картинки только не в drawable, а в assets/img/
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2012, 11:54
Привет! Вот еще темы с ответами:

Локальные ресурсы - Программирование Android
Всем доброго времени суток))) За ранее извиняюсь если спрошу глупость! Может ли пользователь обновлять локальные ресурсы в приложении...

Полезные ресурсы - Программирование Android
Наткнулся на очень хороший набор ссылок на хабре Я думаю он полезен будет всем ЖМЯК хз ссылки на хабр можно постить :- ...

Ресурсы из интернета - Программирование Android
всем привет и извините если такая тема есть, но мне нужна ваша помощь. делаю приложение для просмотра картинок. есть список с категориями и...

Разбить путь к файлу на части - путь, файл и расширение - PHP
Как разбить путь к файлу на части - путь, файл и расширение? Например: c:\kuku\part1\name.txt $path=c:\kuku\part1\ $name=name ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.07.2012, 11:54
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru