2014-10-02 1 views
1

У меня есть огромный каталог инфракрасных кодов дистанционного управления, и я бы хотел разобрать каждый из них, когда это необходимо. Однако у меня возникают проблемы с доступом к папкам, которые у меня есть в папке res/raw/application. Я хотел бы получить имена папок, потому что это по существу сортировалось для меня и перечисляло все бренды, которые я хотел бы перечислять в Spinner, а затем вытаскивать файлы из этой папки позже.Как перечислить папки в исходных ресурсах

Что случилось со мной, чем-то вроде этого?

String path = "android.resource://" + getPackageName() + "/res/raw/"; 
File f = new File(path); 
File[] files = f.listFiles(); 
for(File inFile : files){ 
    if(inFile.isDirectory()){ 
     Log.d(TAG, inFile.getName()); 
    } 
} 

Только что узнал, что я не могу создать подкаталоги в моем Резе/необработанной папке, и я должен был бы идти об этом в папке активов. Было бы так просто, как эта структура?

assets 
    - remotes 
     - Samsung 
      - remote1.txt 
      - remote2.txt 
     - Sony 
      - remote1.txt 
     - etc 

ответ

0

Однако у меня возникли проблемы, пытаясь получить доступ к папкам я имею в Резе/необработанной/папке моего приложения.

У вас не может быть папок внутри res/raw/. Каталог ресурсов может содержать файлы, а не подкаталоги.

Если вы хотите упаковать дерево каталогов с вашим приложением, используйте assets/ и AssetManager, а не необработанные ресурсы.

+0

Я отредактировал свое оригинальное сообщение. Итак, будет ли эта структура для подкаталогов работать? –

+0

@ThomasSmythe: эта структура каталогов, безусловно, возможна. Я не могу сказать, подходит ли он вашим бизнес-потребностям. – CommonsWare

+0

это не ответ, а предложение. Используйте Firebase для хранения данных каждого файла и получения, когда это необходимо. Это уменьшает число. файлов, которые вы храните в сборке, а также обеспечить динамический подход, если необходимо изменить содержимое файла. –

Смежные вопросы