在listview中显示来自sd卡的特定文件夹中的视频

时间:2011-10-16 19:29:25

标签: android listview directory sd-card

我正在尝试使用sd卡上创建的文件夹中的视频文件填充listview。我正在使用

managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,mystring, null, null, null);

但是它会填充保存在SD卡中的所有视频,但我只想要保存在特定文件夹中的那些视频。我也用过

Uri uri = Uri.fromFile(filepath);
cursor = managedQuery(uri, mystring , null , null , null); 

Uri uri = Uri.parse(filepath);
cursor = managedQuery(uri, mystring , null , null , null);

但它不起作用。我已经尝试了很多,并得到谷歌的帮助仍然没有成功。 有没有办法给该文件夹的路径?或任何其他方式?

3 个答案:

答案 0 :(得分:1)

您可以使用此代码从特定文件夹中获取视频:

String selection=MediaStore.Video.Media.DATA +" like?";
        String[] selectionArgs=new String[]{"%FolderName%"};
        videocursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
                parameters, selection, selectionArgs, MediaStore.Video.Media.DATE_TAKEN + " DESC");

答案 1 :(得分:0)

您可以从特定位置获取此类文件

item = new ArrayList<String>();
 path = new ArrayList<String>();

 File f = new File("/sdcard/");

 // or you can use File f=new File(Environment.getExternalStorageDirectory().getPAth());
 File[] files = f.listFiles();


 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);

答案 2 :(得分:0)

嘿,managedquery搜索整个SD卡而不是特定的文件夹。 上面的方法适用于显示文件名但是如果要显示缩略图创建thumbmail并将其存储在Hashmap中并将其填充到gallery适配器列表中..........