项目开发中我们要使用到本地SD卡中的媒体文件,ContentResolver 可以很方便的帮助我们查询所有信息。
--
1.ContentResolver 中我们要使用到的两个方式的讲解
通过 mContext.getContentResolver();获取ContentResolver 实例,查询使用query 插入使用insert
query(...) 搜索指定Uri下的媒体文件,后面是sql语句
insert(...) 把新文件插入到指定Uri表中,后面跟数据库键值对。
2.具体参数的介绍
uri:用于检索内容的 URI
projection:要返回的列的列表。传递 null 时,将返回所有列,这样会导致效率低下
selection:一种用于声明要返回哪些行的过滤器,其格式为 SQL WHERE 子句(WHERE 本身除外)。传递 null 时,将为指定的 URI 返回所有行
selectionArgs:您可以在 selection 中包含 ?s,它将按照在 selection 中显示的顺序替换为 selectionArgs 中的值。该值将绑定为字串符
sortOrder:行的排序依据,其格式为 SQL ORDER BY 子句(ORDER BY 自身除外)。传递 null 时,将使用默认排序顺序(可能并未排序)
3.媒体文件的Uri是如何获取的
找到MediaStore,里面内部类有Images,Audio,Video,Files这几个包含了所有Android媒体类型,例如我们要查询图片则通过Images 得到对应的EXTERNAL_CONTENT_URI就能按照ContentResolver 的方法查询图片&#x