2015-06-04 36 views
8

我玩弄Android的MediaStore类和企图,当我注意到两个图像内容URI来创建一个非常简单的照片库应用程序:EXTERNAL_CONTENT_URIINTERNAL_CONTENT_URI。起初,我认为这是指存储的位置(外部SD或内部存储器),但经过一些测试,显然不是这种情况。我详细阅读了here,它似乎表明内部uri内容实际上是设备上每个应用程序内部的内容。但我不完全确定,并希望更熟悉MediaStore类的更有经验的开发人员提出意见。Android:EXTERNAL_CONTENT_URI足够用于照片库吗?

所以我的主要问题是,只想查询EXTERNAL_CONTENT_URI足以让所有的重要照片?如果可能的话,INTERNAL_CONTENT_URI究竟是什么,它应该用于什么?

回答

15

外部VS内部存储并不是指内存的位置,但对于它的隐私政策。内部存储意味着只有应用程序或系统/超级用户进程才能访问内容。

外部存储器,可以通过每一个应用程序来读,这是当你将手机插上电源到电脑显示的内容,所以你可以把它看成是显示其他人的东西,因此“外部”。

我有一个三星S5的实例,它把内部和外部存储在同一个“内部”的闪存,它们实际上是对RAM的同一棒只是单独的分区。

当我添加SD卡时,它会添加另一个(辅助)外部存储位置。

每个机器人设备必须与内部和外部存储出货,所以,如果没有例如SD卡运送器件保证已分配“内部”存储器,用于内部和外部存储设备。

至于External_Content_URI如何关联,它将返回位于外部存储器中的图像 - 更仔细地阅读文档,它表示仅返回“主”外部存储卷。我只注意到最后一部分是引用自己的,所以如果其他人不帮助回答这个问题,那么我将在接下来的几天测试一下,如果辅助外部存储也由媒体存储索引或检索。

http://developer.android.com/reference/android/provider/MediaStore.Images.Media.html

+0

我认为这很好地回答了这个问题。 – idunnololz

+0

媒体商店也检索了一切吗?! –