Android存储目录详解

2019-11-22  本文已影响0人  yym_439

1、介绍

Android系统分为内部存储和外部存储:

  1. 内部存储是手机系统自带的存储,一般空间都比较小
  2. 外部存储一般是SD卡的存储,空间一般都比较大,但不一定可用或者剩余空间可能不足。

一般我们存储内容都会放在外部存储空间里。使用过程注意事项:

2、存储路径

一般我们可以通过 Context 和 Environment 相关的方法获取文件存取的路径。

2.1、内部存储

2.1.1、内部根目录

Environment.getDataDirectory()   /data

2.1.2、内部应用程序目录

Context.getCacheDir():  /data/data/包名/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、外部存储

2.2.1、判断sdCard是否存在

Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)

2.2.2、外部根目录

Environment.getExternalStorageDirectory()  /storage/emulated/0

2.2.3、外部应用程序目录

Context.getExternalCacheDir() /storage/emulated/0/Andorid/data/包名/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
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

注:我们可以在外部存储上新建任意文件夹,不过6.0及之后的系统需要动态申请权限,这些目录的内容不会随着应用的卸载而消失

我的博客

上一篇 下一篇

猜你喜欢

热点阅读