Для сценария, в котором вы хотите предоставить некоторые текстовые файлы приложению, вы можете включить их в каталог проекта / res / assets и затем, возможно, скопировать их при первом запуске в каталог приложения / files на внутреннем телефоне.memory.
Каталог / files также будет хорошим местом для хранения любых файлов, которые создает пользователь, если вы не хотите, чтобы они имели прямой доступ к самим файлам (доступ к внутренней памяти возможен только при условии, что пользовательимеет корневой доступ к телефону).
Что касается объединения текстовой строки для доступа к ресурсам, это не будет работать, поскольку все идентификаторы R.foo.bar на самом деле являются текстовыми «ключами» к целочисленным идентификаторам.Другими словами, R.drawable.my_icon, например, существует только как «строка» в среде компилятора и преобразуется в целое число во время сборки.
Вы могли бы рассмотреть возможность предоставления чертежным объектам с именами, такими как image_01, image_02 и поместив их в свой каталог ресурсов - вы можете обратиться к ним / получить к ним доступ по имени файла, а не по идентификатору ресурса.
РЕДАКТИРОВАТЬ: Пример копирования файлов из каталога активовна телефон SDCARD, см. ответ на этот вопрос ... Android: Как скопировать файлы в 'assets' на SDCard?
Чтобы скопировать во внутренний каталог / files, вы бызамените эту строку ...
out = new FileOutputStream("/sdcard/" + files[i]);
... на что-то похожее на ...
out = Context.openFileOutput(files[i], MODE_PRIVATE);
openFileOutput(...)
автоматически создаст файл, который можно записать в приложение /каталог файлов.Точно так же позже вы можете использовать openFileInput(...)
для чтения из каталога / files.