Android SD卡存储有什么约定吗?

时间:2010-12-04 00:02:27

标签: android naming-conventions directory android-sdcard

安装了很多应用程序,并自己构建了一些应用程序后,我相信很多人都对此感到疑惑。如果我正在查看我的SD卡,它看起来非常可怕,而且我很难找到用于在不同应用程序的所有文件夹之间放置音乐/视频/图片的文件夹。

这里是否有任何约定我们开发人员应该尝试将他们的应用程序放在一个基本文件夹中,或者谷歌完全忘记了这个?

2 个答案:

答案 0 :(得分:6)

来自reference

应用程序不应直接使用此顶级目录,以避免污染用户的根命名空间。应用程序专用的任何文件都应放在Context.getExternalFilesDir返回的目录中,如果卸载了该应用程序,系统将负责删除该目录。其他共享文件应放在getExternalStoragePublicDirectory(String)返回的其中一个目录中。

答案 1 :(得分:1)

我在我的应用程序中扩展Application类并具有以下内容......

protected static File myAppDir = null;

然后在onCreate()(在应用程序中)......

if (myAppDir == null)
    myAppDir = new File(getExternalFilesDir(null).getAbsolutePath());

如果不存在,会自动创建/mnt/sdcard/Android/data/com.mycompany.myApp/files。您可以为图片,视频等内容提供除“null”之外的其他参数来getExternalFilesDir()。