У меня есть длинная серия графики - 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");
Таким образом, там какой-либо путь состоит в том, чтобы получить ресурсы их именами? Еще лучше есть ли канонический путь вне системы ресурса для упаковки файлов данных в пакет приложений андроида так, чтобы я мог достигнуть их?
Я думаю об отражении, но это не походит на правильное решение меня.
Библиотеки
здесь: https://stackoverflow.com/questions/662956/most-useful-free-net-libraries
-121--5044666-Элементы управления без окон не имеют выделенного дескриптора окна.
-121--3653565- Используйте getResources () .getIdentifier ()
из контекста
(например, Действие
), но кэшируйте результат, если вы будете использовать его более одного раза. getIdentifier ()
реализован на ресурсах
.
Отражение также очень медленно, вы должны просто создать массив со всеми вашими идентифицированными в нем.
Я знаю, что вы уже нашли ответ, но если вы используете отражение, вы увидите хорошую скорость, поскольку GetIdentifier () медленнее. Я написал о том, как сделать метод отражения здесь . Однако это только работает, если вы обращаетесь к вашим собственным ресурсам.