我想制作一个可以做两件事的文件浏览器:
1)允许用户浏览并选择目录
2)允许用户浏览他们的SD卡中的所有文件
我在寻找教程,但似乎找不到任何教程?
有人可以通过解释如何使用简单的文件浏览器来执行代码或向我提供指向教程/源代码的链接来帮助我吗?
请和谢谢!
最佳答案
如果您实际上对学习编写自己的内容更感兴趣,建议您仔细阅读File类文档。那就是您将要完成大部分工作的地方。
对于Android的SD卡/其他外部存储设备,您需要先使用Environment类首先检查以确保外部存储设备已安装且可用,然后再尝试读取它:
String extState = Environment.getExternalStorageState();
//you may also want to add (...|| Environment.MEDIA_MOUNTED_READ_ONLY)
//if you are only interested in reading the filesystem
if(!extState.equals(Environment.MEDIA_MOUNTED)) {
//handle error here
}
else {
//do your file work here
}
确定外部存储的正确状态后,一种简单的启动方法是使用File的listFiles()方法,如下所示:
//there is also getRootDirectory(), getDataDirectory(), etc. in the docs
File sd = Environment.getExternalStorageDirectory();
//This will return an array with all the Files (directories and files)
//in the external storage folder
File[] sdDirList = sd.listFiles();
然后,您可以开始使用FileFilters来缩小结果范围:
FileFilter filterDirectoriesOnly = new FileFilter() {
public boolean accept(File file) {
return file.isDirectory();
}
};
File[] sdDirectories = sd.listFiles(filterDirectoriesOnly);
从那里开始,只需通读文档以查找要使用它的类型,然后就可以将它们绑定(bind)到列表适配器等中。
希望这可以帮助!