1 内部存储

1.1 根目录(

math?formula=rootDir)%EF%BC%9A%2Fdata%EF%BC%8C%E9%80%9A%E8%BF%87%20Environment.getDataDirectory()%20%E8%8E%B7%E5%8F%96%E3%80%82%201.2%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9B%AE%E5%BD%95(applicationDir):

math?formula=rootDir%2Fdata%2F%E5%8C%85%E5%90%8D%EF%BC%88%E4%B8%8D%E4%B8%80%E5%AE%9A%EF%BC%8C%E4%B8%8D%E5%90%8C%E8%AE%BE%E5%A4%87%E5%8F%AF%E8%83%BD%E4%B8%8D%E5%90%8C%EF%BC%89%20%E5%BA%94%E7%94%A8%E7%BC%93%E5%AD%98%E7%9B%AE%E5%BD%95%EF%BC%9AapplicationDir/cache,通过Context.getCacheDir()获取。

应用文件目录:$applicationDir/files,通过Context.getFilesDir()获取。Context.getFileStreamPath(String name)返回以name为文件名的子文件目录,若name为空,则返回文件根目录。假设我们的应用程序包名为com.learn.test,路径如下:

Environment.getDataDirectory(): /data

Context.getCacheDir(): /data/data/com.learn.test/cache

Context.getFilesDir(): /data/data/com.learn.test/files

Context.getFileStreamPath(""): /data/data/com.learn.test/files

Context.getFileStreamPath("test"): /data/data/com.learn.test/files/test

2 外部存储

2.1 根目录(

math?formula=rootDir)%EF%BC%9A%2Fstorage%2Femulated%2F0%EF%BC%88%E4%B8%8D%E4%B8%80%E5%AE%9A%EF%BC%8C%E4%B8%8D%E5%90%8C%E8%AE%BE%E5%A4%87%E5%8F%AF%E8%83%BD%E4%B8%8D%E5%90%8C%EF%BC%89%EF%BC%8C%E9%80%9A%E8%BF%87%20Environment.getExternalStorageDirectory()%20%E8%8E%B7%E5%8F%96%E3%80%82%202.2%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9B%AE%E5%BD%95(applicationDir):

math?formula=rootDir%2FAndorid%2Fdata%2F%E5%8C%85%E5%90%8D%20%E5%BA%94%E7%94%A8%E7%BC%93%E5%AD%98%E7%9B%AE%E5%BD%95%EF%BC%9AapplicationDir/cache,通过Context.getExternalCacheDir()获取。

应用文件目录:$applicationDir/files,通过Context.getExternalFilesDir(String type),type为空字符串时获取。type系统给我们提供了很多常用的类型,比如图片和下载等等:

public static String DIRECTORY_MUSIC = "Music";

public static String DIRECTORY_ALARMS = "Alarms";

public static String DIRECTORY_NOTIFICATIONS = "Notifications";

public static String DIRECTORY_PICTURES = "Pictures";

public static String DIRECTORY_MOVIES = "Movies";

public static String DIRECTORY_DOWNLOADS = "Download";

public static String DIRECTORY_DCIM = "DCIM";

public static String DIRECTORY_DOCUMENTS = "Documents";

Environment.getExternalStorageDirectory(): /storage/emulated/0

Context.getExternalCacheDir(): /storage/emulated/0/Android/data/com.learn.test/cache

Context.getExternalFilesDir(""): /storage/emulated/0/Android/data/com.learn.test/files

Context.getExternalFilesDir("test"): /storage/emulated/0/Android/data/com.learn.test/files/test

Context.getExternalFilesDir(Environment.DIRECTORY_PICTURES): /storage/emulated/0/Android/data/com.learn.test/files/Pictures

3 公共存储目录

Environment.getExternalStorageDirectory(): /storage/emulated/0

Environment.getExternalStoragePublicDirectory(""): /storage/emulated/0

Environment.getExternalStoragePublicDirectory("test"): /storage/emulated/0/test

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES): /storage/emulated/0/Pictures

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐