2013-04-12 36 views
1

我一直在为使用处理器的android开发,但当我想要检索给定目录内的文件列表时已停止。以下是我一直在尝试的代码的屏幕截图。处理android:AssetManager和list()不起作用

enter image description here

我已经试过这种不同的变化(如getbaseContext()getAssets();)和似乎没有任何工作。每当代码尝试执行list()部分时,它都会有错误,'fileNames'中没有任何内容。

我错过了什么?这是处理问题吗?

感谢

编辑:我试图访问的方向是“资产/级别/”我可以在Eclipse我的项目视图中看到。

回答

0

所以我才得到它的工作! 原来这是我放置'String [] fileNames'的问题';'代码在尝试将数据放入它之前。下面的代码工作正常:

enter image description here

感谢您的帮助!

0

您不需要任何额外的权限就可以运行您拥有的代码。我只是编译它在我的设备上,它工作正常。你提到你正试图列出给定目录中的文件。你正在做的是列出Levels文件夹中的文件,该文件夹应该是资产的子文件夹。您将返回的是该文件夹中所有文件名的数组。

如果您确实想要从给定目录获取文件列表,它与资产文件夹无关,我建议您查看有关Android外部和内部存储的教程。直接在android页面上的信息对我非常有帮助。

http://developer.android.com/guide/topics/data/data-storage.html

如果这不是你尽管找什么,我建议你重新措辞问题。

+0

我想通过我的资产/级别/文件夹获取文件的名称,这些文件可以在eclipse中的项目视图中看到。我将编辑我的问题以添加此信息 –

+0

@JosephLittle在eclipse中,在您的项目目录下,您确定有一个名为级别的文件夹,并且在该文件夹中有各种文件?我用2个文件和该设置运行它,并且我找到了两个,没有添加任何权限。 –

+0

@JosephLittle它看起来很稳固,我在哪里检查fileNames为空?在另一段代码中可能会发生什么? –

0

* 注意:单个文件夹不应该清空..它将返回零为没有文件的文件夹。 *

void getFolderDetais(String folder_name) 
    { 

     // pass folder_name empty to get detail of root that means assets folder details 
     String[] filelistInSubfolder = assetManager.list(folder_name); 
     Log.v("Floder Details ----- >", " Length --- " 
       + filelistInSubfolder.length); 
    } 
1

我遇到过类似的问题,因为我使用了带有尾部/字符的文件夹名称。

所以别人遇到此问题,你需要确保你使用的文件夹名称只是没有尾随/文件夹名称(因此“电影”,而不是“电影/”)