我在模拟器上的模拟SD卡上上传了图片。我通过长按每个图像从浏览器下载它们。
当我在DDMS透视图中查看文件资源管理器时,我发现它们位于 sdcard / download 目录中。
现在,如果我想下载一些音频文件并在应用程序中使用它们,比如列出所有音频文件的标题,它们会进入同一目录吗? (我试图将音频文件从我的计算机手动推送到模拟器)。
这似乎不对。不应该将不同类型的媒体文件(图片,音频,视频)放到不同的目录中吗?
另外,通过一点思考,这样的事情与sdcard上的物理目录有什么关系?
Uri mMedia = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
谢谢!
答案 0 :(得分:1)
访问媒体内容的正确方法是通过设备上的媒体content providers。
内容提供商可以轻松地以统一的方式访问数据,无论数据是存储在磁盘上(即/sdcard/...
)还是存储在SQLite数据库中。内容提供商通常使用自定义的Android特定content://
URI方案公开数据。
要查询生活在给定内容URI(例如MediaStore.Images.Media.EXTERNAL_CONTENT_URI
)的内容,请使用ContentResolver
类。有关如何使用此类的示例可以在整个SDK示例和Android Open Source Project(gitweb)中找到。
另请参阅MediaScannerConnection
课程,了解有关触发媒体扫描的信息(填充媒体内容提供商)等。