【问题标题】:Android assets folder does not contain what I put in thereAndroid资产文件夹不包含我放在那里的东西
【发布时间】:2017-03-06 22:21:52
【问题描述】:

我已将一堆波形文件添加到我的资产目录中以供加载。

我通过右键单击我在 android 中的 res 文件夹并转到“添加文件夹 -> 资产文件夹”来创建资产

它在 app\src\main\assets 创建了一个 assets 文件夹。

我已将一堆 wav 文件拖到该资产目录中。

但是当我列出资产目录中的所有文件时,它只列出了一个名为“images”的目录。

观察下面的代码。有一条消息只写出“图像”。

    AssetManager assets = LocalApp.getAppContext().getAssets();
    String[] fileList = assets.list("");

    // we assume all the files in the assets are the wav files that we want to load,
    // so attempt to load everythign in assets as a wav
    for (int i = 0; i < fileList.length; i++) {
        Log.e(TAG, "readSamples: file name = "+fileList[i]);
        WavFile wave =  new WavFile(assets.open(fileList[i]));
        samples.add(wave);
    }

【问题讨论】:

  • 您是否刷新了所有项目文件夹?
  • 我不熟悉这个术语/流程。
  • 我猜在你将文件添加到新文件夹后,项目不会自行刷新,所以你看不到你的 wav 文件?
  • 刷新是什么意思?我已经清理并重建了......我不知道这个“刷新”术语......
  • 我的问题的解决方案与android资产无关,并且基于我的WavFile代码。这个问题应该结束吗?

标签: android android-studio android-assets


【解决方案1】:

也许你可以试试这个:-

    String dirFrom = "putYourPathToAssestsFolderHere"
    //if you are in an activity
    Resources res = getResources(); 
    AssetManager assets = res.getAssets();
    String fileList[] = assets.list(dirFrom);

        if (fileList != null)
        {   
            for ( int i = 0;i<fileList.length;i++)
            {
                Log.e(TAG, "readSamples: file name = "+fileList[i]); 
            }
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    • 2015-03-16
    • 2018-04-13
    • 2010-09-14
    • 2017-09-28
    • 1970-01-01
    相关资源
    最近更新 更多