2010-05-27 162 views
0

我已经上传到我的模拟器模拟SD卡图像。我从浏览器下载了它们,使用每个图像的长按。文件组织成目录

当我在DDMS透视图中查看文件资源管理器时,发现它们位于目录sdcard/download中。

现在,如果我想下载一些音频文件,并利用它们在应用,比如列出所有音频文件的标题,他们会在同一目录去? (我试图将音频文件从我的电脑手动推送到模拟器)。

这看起来不正确。不同类型的媒体文件(图片,音频,视频)不应该进入不同的目录吗?

此外,通过少量想这怎么是这样的关系对SD卡的物理目录?

Uri mMedia = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI; 

谢谢!

回答

1

访问媒体内容的正确方式是通过设备上的媒体content providers

无论数据是存储在磁盘上(即/sdcard/...)还是像SQLite数据库之类的东西,内容提供者都可以轻松地统一访问数据。内容提供商通常使用定制的Android专用content:// URI方案公开数据。

要查询生活在给定内容URI(例如MediaStore.Images.Media.EXTERNAL_CONTENT_URI)中的内容,请使用ContentResolver类。有关如何使用此类的示例可在整个SDK示例和Android Open Source Projectgitweb)中找到。

也看一下MediaScannerConnection类的信息,引发媒体扫描(其中填充媒体内容提供商)等

+0

罗马,感谢您抽出时间来回答。我一直在使用您从我的代码中引用的Content Provider API(除了MediaScannerConnection - 我会查找它)。但是,为了测试代码,我必须在模拟器的SD卡上下载一些媒体。我的问题是,如何物理存储SD卡中的文件...即将音频/图片/视频文件放入哪些目录。我只是将所有文件放入/ SD卡目录,还是将它们组织到不同的目录中?如果后者,那么如何? – OceanBlue 2010-05-28 14:15:17

+0

媒体扫描仪将通过整个SD卡找媒体,让你可以自由地将其放置在任何目录结构有意义的您的应用程序,并且将是有意义的,用户应安装这些卡他们的计算机上。 – 2010-05-28 16:38:11