android如何快速获取指定路径下的视频文件并返回集合?

目前用的是以下代码获取,当路径设置为根目录的时候会很慢,有没有什么更好的解决方案?publicstaticList<VideoInfo>allVideoList=null... 目前用的是以下代码获取,当路径设置为根目录的时候会很慢,有没有什么更好的解决方案?

public static List<VideoInfo> allVideoList = null;// 视频信息集合
allVideoList = new ArrayList<VideoInfo>();
getVideoFile(allVideoList,Environment.getExternalStorageDirectory());// 获得视频文件

private void getVideoFile(final List<VideoInfo> list, File file) {// 获得视频文件

file.listFiles(new FileFilter() {

@Override
public boolean accept(File file) {
// sdCard找到视频名称
String name = file.getName();

int i = name.indexOf('.');
if (i != -1) {
name = name.substring(i);
if (name.equalsIgnoreCase(".mp4")
|| name.equalsIgnoreCase(".3gp")
|| name.equalsIgnoreCase(".wmv")
|| name.equalsIgnoreCase(".ts")
|| name.equalsIgnoreCase(".rmvb")
|| name.equalsIgnoreCase(".mov")
|| name.equalsIgnoreCase(".m4v")
|| name.equalsIgnoreCase(".avi")
|| name.equalsIgnoreCase(".m3u8")
|| name.equalsIgnoreCase(".3gpp")
|| name.equalsIgnoreCase(".3gpp2")
|| name.equalsIgnoreCase(".mkv")
|| name.equalsIgnoreCase(".flv")
|| name.equalsIgnoreCase(".divx")
|| name.equalsIgnoreCase(".f4v")
|| name.equalsIgnoreCase(".rm")
|| name.equalsIgnoreCase(".asf")
|| name.equalsIgnoreCase(".ram")
|| name.equalsIgnoreCase(".mpg")
|| name.equalsIgnoreCase(".v8")
|| name.equalsIgnoreCase(".swf")
|| name.equalsIgnoreCase(".m2v")
|| name.equalsIgnoreCase(".asx")
|| name.equalsIgnoreCase(".ra")
|| name.equalsIgnoreCase(".ndivx")
|| name.equalsIgnoreCase(".xvid")) {
VideoInfo vi = new VideoInfo();
vi.setDisplayName(file.getName());
vi.setPath(file.getAbsolutePath());
list.add(vi);
return true;
}
} else if (file.isDirectory()) {
getVideoFile(list, file);
}
return false;
}
});
}
展开
 我来答
百度网友63e0252
2017-02-22 · TA获得超过154个赞
知道小有建树答主
回答量:75
采纳率:0%
帮助的人:34.4万
展开全部
/data/data/com.android.providers.media/databases
internal.db
external-XXXX.db

参考:http://blog.csdn.net/fengye810130/article/details/11522741

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式