admin管理员组

文章数量:1639996

2024年6月5日发(作者:)

Android平台上的媒体文件管理和桌面系统不同。在桌面系统上,不同目录下的媒体

文件呈树状结构显示给用户,用户需要进入不同目录寻找该目录下的文件。而在Android

平台上,不同目录下的媒体文件则以一层列表方式显示给用户,用户不需进入子目录就可

以列出(某种类型的)所有媒体文件。

在Android上,为了实现这种模式的媒体文件管理,对所有管理的媒体文件抽取其元

数据,也就是ID3(mp3文件包含的元数据可参考/wiki/ID3),存

储在数据库中,并作为一个content provider提供给其他应用使用。用户的每一次显示媒

体文件的操作,就是对这个数据库的一次查询操作。在多媒体管理模块中,主要分成三个

模块:

多媒体数据库

MediaStore这个类是android系统提供的一个多媒体数据库,android中多媒体信

息都可以从这里提取。这个MediaStore包括了多媒体数据库的所有信息,包括音频,视

频和图像,android把所有的多媒体数据库接口进行了封装,所有的数据库不用自己进行创

建,直接调用利用ContentResolver去掉用那些封装好的接口就可以进行数据库的操作,

多媒体数据库的使用方法和SQLITE3的方法是一样的。

MediaStore中的数据是在MediaScanner扫描后通过MediaProvider中的一个

service进行更新的。框架图如下:

MediaScanner

在Android系统中,多媒体库是通过MediaScanner去扫描磁盘文件,对元信息的

处理,并通过MediaProvider保存到MediaStore中。下图为MediaScannerr 框架:

本文标签: 用户管理媒体文件目录