2014-10-02 58 views
1

我有一个红外遥控代码的巨大目录,我想在需要时解析它们中的每一个。但是,我在尝试访问我的应用程序的res/raw /文件夹中的文件夹时遇到问题。我希望能够获取文件夹名称,因为这样会为我排序,列出我想要在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()); 
    } 
} 

刚刚发现,我不能在我的RES /原文件夹下创建子目录,我不得不通过资产文件夹去了解这一点。这会像这个结构一样简单吗?

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

回答

0

不过,我有试图访问我在我的应用程序的res /生/文件夹中的文件夹的问题。

res/raw/中不能有文件夹。资源目录可以包含文件,而不是子目录。

如果要打包目录树与您的应用程序,请使用assets/AssetManager,而不是原始资源。

+0

我编辑了我原来的帖子。那么,这个子目录的结构会起作用吗? – 2014-10-02 21:24:30

+0

@ThomasSmythe:该目录结构当然是可能的。无论它适合您的业务需求,我不能说。 – CommonsWare 2014-10-02 21:26:31

+0

这不是一个答案,而是建议。使用Firebase存储每个文件的数据并在必要时进行检索。这减少了没有。您存储在构建中的文件,并且如果需要更改文件的任何内容,还提供动态方法。 – 2017-05-01 04:11:32

相关问题