经过数据库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));
 }

若是想读取指定的视频文件java

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

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

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

Uri:这个Uri表明要查询的数据库名称加上表的名称。这个Uri通常都直接从MediaStore里取得,例如我要取全部歌的信息,就必须利用MediaStore.Audio.Media. EXTERNAL _CONTENT_URI这个Uri。视频

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

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

Selections:至关于SQL语句中的where子句,就是表明你的查询条件。io

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

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

相关文章
相关标签/搜索