如何在android中使用文件浏览器
我有一个应用程序上传文件到服务器使用php! 如何在我的应用程序中实现文件浏览器来选择要上载的文件?如何在android中使用文件浏览器,android,Android,我有一个应用程序上传文件到服务器使用php! 如何在我的应用程序中实现文件浏览器来选择要上载的文件? 请给我一个非常简单的例子!或者简单的解决方案 在谷歌上有这么多的解决方案,在这里你不能仅仅要求一个完整的实现,然后期望有人在这里编写。以下是几个好结果: 基本上,您将有一个列表对话框,用于搜索SD卡上的文件和目录,然后如果它是一个文件(例如,file类中有方法检查它是文件还是目录),则选择它并关闭对话框,或者如果它是一个目录,使用文件和目录列表等更改目录和刷新对话框。如果需要选择任何类型的文
请给我一个非常简单的例子!或者简单的解决方案 在谷歌上有这么多的解决方案,在这里你不能仅仅要求一个完整的实现,然后期望有人在这里编写。以下是几个好结果:
基本上,您将有一个列表对话框,用于搜索SD卡上的文件和目录,然后如果它是一个文件(例如,file类中有方法检查它是文件还是目录),则选择它并关闭对话框,或者如果它是一个目录,使用文件和目录列表等更改目录和刷新对话框。如果需要选择任何类型的文件,没有简单的解决方案,则必须实现类似的文件管理器功能。以下是一些帮助您入门的提示和示例: 先决条件:你对Android的工作原理有一些基本的了解;您知道如何实现自定义的
ListView
- 使用
显示文件ListView
- 使用
ArrayList
File root = Environment
.getExternalStorageDirectory();
以下方法将列出目录中的所有文件和子目录:
public static ArrayList<File> getSubfiles(File root) {
File[] mFiles = root.listFiles();
ArrayList<File> files = new ArrayList<File>();
ArrayList<File> dirs = new ArrayList<File>();
ArrayList<File> allData = new ArrayList<File>();
for (int i = 0; i < myFiles.length; i++) {
if (!myFiles[i].isDirectory()) {
files.add(myFiles[i]);
} else {
dirs.add(myFiles[i]);
}
}
Collections.sort(files);
Collections.sort(dirs);
allData.addAll(dirs);
allData.addAll(files);
return allData;
}
publicstaticarraylistgetsubfiles(文件根目录){
File[]mFiles=root.listFiles();
ArrayList files=新的ArrayList();
ArrayList dirs=新的ArrayList();
ArrayList allData=新的ArrayList();
对于(int i=0;i
使用此方法,您可以通过向文件系统传递任何目录来“向下”移动文件系统。要向上移动,只需使用getParentFile()
并将结果传递给此方法
因此,您应该始终将此方法的结果传递给适配器,然后调用notifyDataSetChanged()
仅此而已,您有一个非常基本的文件查看器。当然,你需要创建一些布局并编写更多的代码,上面的提示应该可以帮助你开始,因为正如前面提到的,没有人会在这里为你编写一半的应用程序。如果您还有其他问题,请留下评论并描述您的问题。如果您只需要选择文件路径,请尝试 首先显示文件资源管理器:
Intent intent = new Intent(CONTEXT, SimpleFileExplorerActivity);
startActivityForResult(intent, REQUEST_CODE);
然后接收结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if(data != null){
String selectedAbsolutePath = data.getStringExtra(SimpleFileExplorerActivity.ON_ACTIVITY_RESULT_KEY);
Toast.makeText(CONTEXT, selectedAbsolutePath, Toast.LENGTH_SHORT).show();
}
}
您可以打开SD卡中列出的文件的对话框,并观看此-->