如何列出android中的目录或文件?

时间:2014-11-19 07:29:13

标签: android

我正在尝试创建一个可以在Android手机中选择文件并将其上传到服务器的Android应用。当我点击"上传"按钮,我希望我的应用程序显示手机中存储的所有文件和文件夹,以便用户可以选择要上传的文件。我想在Dropbox应用程序中显示它。在Dropbox应用中,当用户点击"上传此处" - "其他文件"时,它会显示Android内部存储(或外部存储)中的文件和文件夹?不确定这个)。我希望我能展示截图,但我没有足够的声誉来发布图片。

这是我到目前为止所做的,但它没有显示出类似的结果。

private void getDir(String dirPath){
    pathTitle.setText("Location: " + dirPath);
    item = new ArrayList<String>();
    path = new ArrayList<String>();

    File f = new File(dirPath);
    File[] files = f.listFiles();

    if(!dirPath.equals(root)){
        item.add(root);
        path.add(root);

        item.add("../");
        path.add(f.getParent());
    }

    //File[] files = f.listFiles();
    if(files != null){
        for(int i = 0; i < files.length; i++){
            File file = files[i];
            path.add(file.getPath());
            if(file.isDirectory()){
                item.add(file.getName() + "/");
            }
            else{
                item.add(file.getName());
            }
        }
    }

    ArrayAdapter<String> fileList = new ArrayAdapter<String>(this, R.layout.row, item);
    setListAdapter(fileList);
}

有人能指导我完成这件事吗?我仍然是Android应用程序开发的新手。

由于

1 个答案:

答案 0 :(得分:0)

我建议你使用Simple file chooser - https://github.com/ingyesid/simple-file-chooser库。在这里,您可以选择文件并在onActivityResult上设置路径。然后你就可以开始上传任务了。

如果需要,可以查看库的源代码。