Android 媒体库图片,音频,视频,文件的查询
2017-12-07 12:08
429 查看
转载:Android 媒体库图片,音频,视频,文件的查询
多媒体数据库存放的位置:
- data/data/com.android.provider.media/databases/external.db
- data/data/com.android.provider.media/databases/internal.db
但是直接访问db数据库文件无疑是不现实的,这时候我们可以考虑使用 Android MediaProvider(媒体内容提供者),通过它我们可以很方便的获取到我们想要的信息。
Android MediaProvider 使用 SQLite 数据库存储图片、视频、音频等多媒体文件的信息,供视频播放器、音乐播放器、图库使用。Media数据库分为internal 和external ,对应的是内部存储和外部存储数据库,这里指的就是上面两个db数据库文件。
获取ContentResolver :
ContentResolver的两个重要方法:
query方法参数介绍:
媒体文件的Uri是如何获取的
找到MediaStore,里面内部类有Images,Audio,Video,Files这几个包含了所有Android媒体类型,例如我们要查询图片则通过Images 得到对应的EXTERNAL_CONTENT_URI就能按照ContentResolver 的方法查询图片,同时Images 中还有缩略图类,可以通过查询到图片的缩略图,表的字段名都一样,关键也是Uri,可以通过Images中的Thumbnails获取。以此类推可以去看看其他几种媒体类型中的相关Uri以及字段名和能查询到的信息。
关于MediaStore.Files
首先,我们该怎样获取查询这些信息?
其实android中其实系统已经给我们提供了一个数据库,里面包含了sd卡中所有文件的信息(大小、位置、创建时间等)。多媒体数据库存放的位置:
- data/data/com.android.provider.media/databases/external.db
- data/data/com.android.provider.media/databases/internal.db
但是直接访问db数据库文件无疑是不现实的,这时候我们可以考虑使用 Android MediaProvider(媒体内容提供者),通过它我们可以很方便的获取到我们想要的信息。
Android MediaProvider 使用 SQLite 数据库存储图片、视频、音频等多媒体文件的信息,供视频播放器、音乐播放器、图库使用。Media数据库分为internal 和external ,对应的是内部存储和外部存储数据库,这里指的就是上面两个db数据库文件。
ContentResolver(内容解析者)
内容提供者(即 MediaProvider)已经有了,我们还需要一个内容解析者ContenResolver来帮助我们更好地解析数据。获取ContentResolver :
mContext.getContentResolver();
ContentResolver的两个重要方法:
query (...) 搜索指定Uri下的媒体文件,后面是sql语句
insert(...) 把新文件插入到指定Uri表中,后面跟数据库键值对。
query方法参数介绍:
uri:用于检索内容的 URI
projection:要返回的列的列表。传递 null 时,将返回所有列,这样会导致效率低下
selection:一种用于声明要返回哪些行的过滤器,其格式为 SQL WHERE 子句(WHERE 本身除外)。
selectionArgs:在 selection 中包含 ?s,它将按照在 selection 中显示的顺序替换为 selectionArgs 中的值。
sortOrder:行的排序依据,其格式为 SQL ORDER BY 子句(ORDER BY 自身除外)。
媒体文件的Uri是如何获取的
找到MediaStore,里面内部类有Images,Audio,Video,Files这几个包含了所有Android媒体类型,例如我们要查询图片则通过Images 得到对应的EXTERNAL_CONTENT_URI就能按照ContentResolver 的方法查询图片,同时Images 中还有缩略图类,可以通过查询到图片的缩略图,表的字段名都一样,关键也是Uri,可以通过Images中的Thumbnails获取。以此类推可以去看看其他几种媒体类型中的相关Uri以及字段名和能查询到的信息。
关于MediaStore.Files
相关文章推荐
- android 图片选择,可选择图片,视频,音频,文件,方便扩展
- Android 支持的媒体格式(音频,视频,图片)
- android扫描sdcard中的音频、视频、图片等文件的方法
- Android中,SD卡上的媒体文件(图片、视频)的改变与通知
- JAVA-IO之读取媒体文件(图片、音频、视频)
- Android中,SD卡上的媒体文件(图片、视频)的改变与通知
- Android中,SD卡上的媒体文件(图片、视频)的改变与通知
- 如何检测android上的多媒体文件属于音频、视频还是图片?
- Android开发之多媒体文件获取工具类实例【音频,视频,图片等】
- Android中,SD卡上的媒体文件(图片、视频)的改变与通知
- 如何检测android上的多媒体文件属于音频、视频还是图片
- Android中,SD卡上的媒体文件(图片、视频)的改变与通知
- Android中,SD卡上的媒体文件(图片、视频)的改变与通知
- Android中,SD卡上的媒体文件(图片、视频)的改变与通知
- Android判断文件类型(视频、音频、图片等)
- Android中使用又拍云存储来上传文件(包括图片、音频和视频等)
- Android判断文件类型(视频、音频、图片等)
- 在Android中调用图片、视频、音频、录音、拍照
- Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等操作功能】
- 如何扫描出android系统媒体库中视频文件