zoukankan      html  css  js  c++  java
  • MediaStore类的使用

      安卓系统会在每次开机之后扫描所有文件并分类整理存入数据库,记录在MediaStore这个类里,通过这个类就可以快速的获得相应类型的文件。

      当然这个类只是给你一个uri,提取文件的操作还是要通过Curosr这个类来完成。

     获得Cursor对象实例的方法必须通过Context实例获得ContextResolver对象,通过这个对象调用query方法。就是这样 mycontext.getContentResolver().query(uri, columns, selection, null, null);

     mycontext通过活动实例获取,其他的就没必要说了 说说参数(官方文档里有详细说明),第一个就是uri说白了就是地址,第二个是选择哪些列(列的名字在官方文档里有需要哪个写那个就够了),第三个是选择指定的行一般都是通过mimetype去选择(传入的参数是sql语句的字符串),第四个没用过,第五个就是排序的要求和第三个差不多 注意前三个参数有点问题就会空指针。
      下面贴一下通过MediaStore类获得URI的代码

        private Uri getContentUri(FileCategory cat) {
            Uri uri;
            String volumeName = "external";
            switch(cat) {
                case Theme:
                case Doc:
                case Zip:
                case Apk:
                    uri = Files.getContentUri(volumeName);
                    break;
                case Music:
                    uri = Audio.Media.getContentUri(volumeName);
                    break;
                case Video:
                    uri = Video.Media.getContentUri(volumeName);
                    break;
                case Picture:
                    uri = Images.Media.getContentUri(volumeName);
                    break;
               default:
                   uri = null;
            }
            Log.e(LOG_CURSOR, "getContentUri");
            return uri;
        }

    MediaStore.Files这个类是在API14之后才能用的,貌似是14记不清了。

  • 相关阅读:
    贴代码链接
    Full Tank?
    NEERC 2012
    POJ Function Run Fun
    C. Points on Line codeforces 127
    Frequent values
    统计的力量——线段树详细教程
    建筑行业专业咨询公司 _ 捷盟咨询(第一家)
    福建顶点Livebos PK 杭州德昌隆Partin/C,开发平台之间的对决,谁更敏捷?
    寻找 JAVA 控件,彗都控件网\中国控件网(http://www.evget.com)http://www.componentcn.com/
  • 原文地址:https://www.cnblogs.com/liboyan/p/4546828.html
Copyright © 2011-2022 走看看