我正在尝试使用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);
但它不起作用。我已经尝试了很多,并得到谷歌的帮助仍然没有成功。 有没有办法给该文件夹的路径?或任何其他方式?
答案 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)