android 按目录归类文件

//该类为返回目录信息的类
public class VideoFolderProvider {

	private String num_of_videos = "num_of_videos";
	private Context context;
	
    /** 要从MediaStore检索的列 */
    private final String[] mProjection = new String[] {
                    MediaStore.Files.FileColumns.DATA,
                    "count(" + MediaStore.Files.FileColumns.PARENT + ") as "
                                    + num_of_videos };
    /** where子句 */
    private String mSelection = MediaStore.Files.FileColumns.MEDIA_TYPE + " = "
                    + MediaStore.Files.FileColumns.MEDIA_TYPE_VIDEO + " ) "
                    + " group by ( " + MediaStore.Files.FileColumns.PARENT;
   
    public VideoFolderProvider(Context context){
    	this.context = context;
    }
    
    public List<VideoFolder> getVideoFolder() {
            String filepath, folderpath, foldername;
            int nums = 0;

            Cursor cursor = context.getContentResolver().query(
                            MediaStore.Files.getContentUri("external"), mProjection,
                            mSelection, null, null);
            int index_data = cursor
                            .getColumnIndex(MediaStore.Files.FileColumns.DATA);
            int index_num_of_videos = cursor.getColumnIndex(num_of_videos);

            List<VideoFolder> itemsList = new ArrayList<VideoFolder>();

            // 将数据库查询结果保存到一个List集合中(存放在RAM)
            if (cursor != null) {
                    while (cursor.moveToNext()) {
                    	VideoFolder item = new VideoFolder();

                            // 获取每个目录下的视频数量
                            nums = cursor.getInt(index_num_of_videos);
                            item.setNums(nums);

                            // 获取文件的路径,如/storage/sdcard0/MIUI/music/Baby.mp3
                            filepath = cursor.getString(index_data);

                            // 获取文件所属文件夹的路径,如/storage/sdcard0/MIUI/music
                            folderpath = filepath.substring(0,filepath.lastIndexOf(File.separator));

                            // 获取文件所属文件夹的名称,如music
                            foldername = folderpath.substring(folderpath
                                            .lastIndexOf(File.separator) + 1);
                            item.setFolderName(foldername);
                            item.setFolderPath(folderpath);

                            itemsList.add(item);
                    }
            }
            // 如果没有扫描到媒体文件,itemsList的size为0,因为上面new过了
            return itemsList;
    }
}
//用到令一个类为目录信息类VideoFolder
public class VideoFolder {


<span style="white-space:pre">	</span>public int nums;
<span style="white-space:pre">	</span>public String folderName;
<span style="white-space:pre">	</span>public String folderPath;
<span style="white-space:pre">	</span>public Bitmap coverImg;
<span style="white-space:pre">	</span>public int getNums() {
<span style="white-space:pre">		</span>return nums;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>public void setNums(int nums) {
<span style="white-space:pre">		</span>this.nums = nums;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>public String getFolderName() {
<span style="white-space:pre">		</span>return folderName;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>public void setFolderName(String folderName) {
<span style="white-space:pre">		</span>this.folderName = folderName;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>public String getFolderPath() {
<span style="white-space:pre">		</span>return folderPath;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>public void setFolderPath(String folderPath) {
<span style="white-space:pre">		</span>this.folderPath = folderPath;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>public Bitmap getCoverImg() {
<span style="white-space:pre">		</span>return coverImg;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>public void setCoverImg(Bitmap coverImg) {
<span style="white-space:pre">		</span>this.coverImg = coverImg;
<span style="white-space:pre">	</span>} 


<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值