Я работаю над приложением для Android с несколькими другими людьми, и наши дизайнеры определяют основной контент в виде текстовых файлов в определенном формате, который мы затем анализируем, обрабатываем и предоставляем в приложении. В настоящее время мы храним их в res/raw
.
Это отлично подходит для дизайнеров, потому что когда они хотят добавить контент, они просто добавляют файл в res/raw
. Однако это раздражает разработчика, поскольку мы, разработчики, должны добавить R.raw.the_new_file
в массив в коде, указывающий, какие файлы обрабатывать при запуске.
Есть ли способ получить программный доступ к идентификаторам ресурсов res/raw
? В идеале, когда приложение запускается, мы могли бы сделать вызов, чтобы увидеть, какие файлы находятся в res/raw
, обработать их все, чтобы мы могли устранить небольшие накладные расходы, сопоставив содержимое res/raw
с содержимым нашего массива в коде .
Самый многообещающий путь, который я видел, это getAssets
из Ресурсы , который позволил бы мне позвонить list(String)
в AssetManager , но мне было трудно заставить это работать, тем более что вы не можете напрямую назвать "res/raw"
как путь к файлу (или, по крайней мере, он не работал, когда я пытался.