通过数据库mediaprovider 读取视频文件

ContentResolver mResolver= getContentResolver();
Cursor cursor =
 getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, null,null, null); 
 while (cursor.moveToNext()){
     //这个读取的是数据库里所有的视频文件
     str=cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA));
 }

如果想读取指定的视频文件

第一种,最简单的方法.修改

MediaStore.Video.Media.EXTERNAL_CONTENT_URI

第二种方法

ContentResolver mResolver= getContentResolver();
String selection=MediaStore.Video.Media.DATA +" like?";
String[] selectionArgs=new String[]{"%文件夹名字%"};
Cursor cursor =
 getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,null, selection,
 selectionArgs,null}

Cursor cursor = resolver.query(_uri, prjs, selections, selectArgs, order);

ContentResolver的query方法接受几个参数,参数意义如下:

Uri:这个Uri代表要查询的数据库名称加上表的名称。这个Uri一般都直接从MediaStore里取得,例如我要取所有歌的信息,就必须利用MediaStore.Audio.Media. EXTERNAL _CONTENT_URI这个Uri。

专辑信息要利用MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI这个Uri来查询,其他查询也都类似。

Prjs:这个参数代表要从表中选择的列,用一个String数组来表示。

Selections:相当于SQL语句中的where子句,就是代表你的查询条件。

selectArgs:这个参数是说你的Selections里有?这个符号是,这里可以以实际值代替这个问号。如果Selections这个没有?的话,那么这个String数组可以为null。

Order:说明查询结果按什么来排序。


转载于:https://my.oschina.net/u/2531348/blog/605688

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值