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记不清了。

  • 相关阅读:
    深浅拷贝的区别
    python 连接mysql数据库
    前端 之HTML基础
    MySQL 多键
    MySQL 存储引擎 字段类型 约束条件
    MySQL数据库的基础知识
    全局解释器和协程
    进程剩余部分和线程
    计算机网络体系结构整理-第三单元网络交换
    计算机网络体系结构整理-第二单元IP技术
  • 原文地址:https://www.cnblogs.com/liboyan/p/4546828.html
Copyright © 2011-2022 走看看