Java 如何仅显示视频文件夹?
我正在使用android应用程序,请告诉我,如何仅显示视频文件夹? 此代码显示设备中的所有文件夹,但我只想显示视频文件夹。怎么做 这是我的密码Java 如何仅显示视频文件夹?,java,android,Java,Android,我正在使用android应用程序,请告诉我,如何仅显示视频文件夹? 此代码显示设备中的所有文件夹,但我只想显示视频文件夹。怎么做 这是我的密码 public class MainActivity extends ListActivity { private List<String> listfile = new ArrayList<String>(); @RequiresApi(api = Build.VERSION_CODES.KITKAT)
public class MainActivity extends ListActivity {
private List<String> listfile = new ArrayList<String>();
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
File fileroot = new File(Environment.getExternalStorageDirectory().getAbsolutePath());
File[] files = fileroot.listFiles();
FileFilter fileFilter = new FileFilter() {
public boolean accept(File file) {
return file.isDirectory();
}
};
files = fileroot.listFiles(fileFilter);
System.out.println(files.length);
if (files.length == 0) {
//
} else {
for (int i = 0; i < files.length; i++) {
listfile.add(files[i].getName());
}
ArrayAdapter <String> dis = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listfile);
setListAdapter(dis);
}
}
}
public类MainActivity扩展了ListActivity{
private List listfile=new ArrayList();
@RequiresApi(api=Build.VERSION\u CODES.KITKAT)
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
File fileroot=新文件(Environment.getExternalStorageDirectory().getAbsolutePath());
File[]files=fileroot.listFiles();
FileFilter FileFilter=newfilefilter(){
公共布尔接受(文件){
返回文件.isDirectory();
}
};
files=fileroot.listFiles(fileFilter);
System.out.println(files.length);
如果(files.length==0){
//
}否则{
对于(int i=0;i
在Android中没有简单的方法可以做到这一点。假设特定设备上只有一个目录videos/
,这是错误的。即使有,你也不能假设视频文件将存储在那里,而不是其他地方
如果你真的只想扫描一个目录,那么一个简单的方法是在应用程序首次启动时提示用户输入位置,并存储所选位置以备将来使用。事实上,许多处理媒体的android应用程序都采用了这种方法——尽管它们可能允许用户选择多个位置
如果您想列出视频文件,而不是特定目录的内容,那么方法是查询Android媒体商店。每当文件传输到设备时,都会(或应该)更新此存储。根据Android内置的各种检查方法,每个文件都带有各种属性的标签。现代Android版本在识别视频文件方面相当出色,尽管情况并非总是如此
要使用媒体存储,您需要在ContentResolver
上查询特定的上下文
,测试指示内容是视频的标志。然后迭代结果,提取所需的各种信息
老实说,我没有使用Android media store来播放视频,尽管我已经使用了Android media store来播放音频。我认为基本原则是一样的。我这里有一些音频查询的示例代码,如果有帮助的话:
您必须查看每个文件夹中是否包含视频文件。我认为视频可以位于任何文件夹中,不管目录名如何。因此,您必须检查每个文件夹中的视频文件格式。如果您得到一个或多个文件,则包含此文件夹,否则只需将其排除并移动到下一个文件夹。。