使用Android MediaStore管理媒体

5

我直接管理应用程序的媒体(图像,声音),读取并保存到SD卡。我是否应该使用MediaStore?我不太确定MediaStore的用途,而且javadoc也没有提供很多帮助。

应用程序何时应该使用MediaStore?简要介绍MediaStore的优缺点将非常感激。

2个回答

4
作为一名热爱安卓的用户,我认为MediaStore是内部Android媒体扫描应用程序(您可以通过Spare Parts手动调用它)和第三方应用程序之间的“公共链接”,比如您的应用程序。根据其android.provider包装,我猜MediaStore就是这个“公共链接”。
在安卓中,提供者(provider)是应用程序向其他应用程序提供信息的方式。如果MediaStore是ContentProvider,则读取由MediaScanner填充的信息。
那么,MediaStore是用于用户媒体,例如音乐、视频、图片等。
对于铃声、通知音,我认为您应该使用android.media.RingtoneManager。
此外,不要硬编码路径“/sdcard/”。有一个API调用可以获取它:Environment.getExternalStorageDirectory()。
优点是每次将可移动存储装置挂载到手机上时,Media Scanner都会运行,并且它还会扫描内部存储器(如果有的话,例如HTC EVO和incredible)。
参考链接:http://twitter.com/cyanogen/status/13980762583

3

我并不是专家,但就我的常识而言,这是搜索特定类型文件的简便方法。

如果您的应用程序有一个库,那么使用MediaStore而不是自己搜索更有用、更快速且更节省电力。此外,您可以确保这些都是系统中存在的文件。

希望这能帮到您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接