Пакет, получающий много растровых ресурсов на Android

У меня есть длинная серия графики - icon1_0.png, icon1_1.png, icon1_2.png..., icon12_0.png, icon12_1.png, icon12_2.png - и я хотел бы упаковать их со своим приложением андроида. Идеально я думаю, что должен смочь загрузить их как ресурсы, но идентификатор ресурса настраивается как идентификаторы Java. Конечно, идентификаторы Java не могут быть собраны во времени выполнения. Я должен попросить R.drawable.icon12_00, таким образом, я не могу настроить цикл

for(int icon=0;icon<12;icon++)
 for(int frame=0;frame<3;frame++)
  //syntax error obviously
  BitmapFactory.decodeResource(getResources(), R.drawable."icon" + icon + "_" + frame + ".png");

Таким образом, там какой-либо путь состоит в том, чтобы получить ресурсы их именами? Еще лучше есть ли канонический путь вне системы ресурса для упаковки файлов данных в пакет приложений андроида так, чтобы я мог достигнуть их?

Я думаю об отражении, но это не походит на правильное решение меня.

5
задан Brian 24 January 2010 в 22:14
поделиться

3 ответа

Библиотеки

здесь: https://stackoverflow.com/questions/662956/most-useful-free-net-libraries

-121--5044666-

Элементы управления без окон не имеют выделенного дескриптора окна.

-121--3653565-

Используйте getResources () .getIdentifier () из контекста (например, Действие ), но кэшируйте результат, если вы будете использовать его более одного раза. getIdentifier () реализован на ресурсах .

13
ответ дан 18 December 2019 в 07:29
поделиться

Отражение также очень медленно, вы должны просто создать массив со всеми вашими идентифицированными в нем.

2
ответ дан 18 December 2019 в 07:29
поделиться

Я знаю, что вы уже нашли ответ, но если вы используете отражение, вы увидите хорошую скорость, поскольку GetIdentifier () медленнее. Я написал о том, как сделать метод отражения здесь . Однако это только работает, если вы обращаетесь к вашим собственным ресурсам.

6
ответ дан 18 December 2019 в 07:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: