我正在编写一个从数码相机下载照片的应用程序。什么是最适合拯救他们的地方?必须是外部存储,因为预计会有数GB的图像。
答案 0 :(得分:5)
保存应共享的文件
如果要保存不是特定于应用程序的文件,并且在卸载应用程序时不应删除这些文件,请将它们保存到外部存储器上的某个公共目录中。这些目录位于外部存储的根目录,例如Music /,Pictures /,Ringtones /等。
在API等级8或更高版本中,使用getExternalStoragePublicDirectory(), 传递它所需的公共目录的类型,例如 DIRECTORY_MUSIC,DIRECTORY_PICTURES,DIRECTORY_RINGTONES或其他。 如有必要,此方法将创建适当的目录。 如果您使用的是API级别7或更低级别,请使用getExternalStorageDirectory()打开表示根目录的文件 的外部存储,然后将您的共享文件保存在其中一个 以下目录:
音乐/ - 媒体扫描程序将此处的所有媒体分类为用户音乐 播客/ - 媒体扫描仪将此处的所有媒体分类为 播客。
铃声/ - 媒体扫描程序将此处的所有媒体分类为 铃声。
警报/ - 媒体扫描程序将此处的所有媒体分类为 警报声 通知/ - 媒体扫描程序对所有媒体进行分类 在这里发现是一个通知声音 图片/ - 所有照片(不包括 那些用相机拍摄的。) 电影/ - 所有电影(不包括那些电影) 用摄像机拍摄) 下载/ - 杂项下载。
答案 1 :(得分:2)
如果您希望其他应用程序可以访问它们,只需将它们放在具有相机原始文件夹名称的DCIM文件夹中(android的是100ANDROID,其他相机有其他相机)。用户期望将图片存储在那里,其他应用程序也是如此。
答案 2 :(得分:1)
外部存储,因为您需要大量空间。
答案 3 :(得分:1)
外部存储是存储图像的最佳位置,默认位置是使用
进行获取class Bar(val offset: Int) { fun Int.negate() = offset - this }
fun main() {
val bar = Bar(42)
bar.run { 5.negate() }
}
如果要在默认图片目录中创建文件夹,请在下面使用 示例代码:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
这是方法,这是将位图图像保存到默认图片目录的方法:
File storageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
+ "/Your_folder_name");
答案 4 :(得分:0)
Here is an example from Google。请注意,您必须根据说明在<provider>
和AndroidManifest.xml
中定义res/xml/file_paths.xml
。但是,要使用getExternalStoragePublicDirectory()
,我必须在path="."
文件中设置file_paths.xml
..