先简要介绍一下Android系统的文件系统吧,本文基于原生Android M系统:
我们都知道Android系统内核就是个Linux、所以我们的文件系统与Linux也是基本一致的,最顶部的目录是 “/” 接下来就是 一些文件或者文件夹,如下图:
/
├── acct
│ └── uid
│ ├── cpuacct.stat
│ └── ...
├── cache
│ ├── backup
│ │ ├── cpuacct.stat
│ │ └── ...
│ ├── lost+found
│ │ └── ...
│ ├── cpuacct.stat
│ │ └── ...
│ └── recovery
│ └── ...
│
├── ...
├── storage
│ ├── emulated
│ │ ├── 0
│ │ │ ├── Alarms
│ │ │ ├── Android
│ │ │ ├── backups
│ │ │ ├── DCIM
│ │ │ └── ...
│ │ │
│ │ └── obb
│ │
│ └── self
│ └── primary
│ ├── Alarms
│ └── ...
├── system
│
一:当然上面的有一些目录是系统级的,也就是用户是没有权限查看的(手机有root权限的话你就可以访问所有的目录了)。这里我们说一说在平常开发中经常使用到的目录,其他的有需要可以去了解一下。
应用程序的私有目录,用户无法查看,app一安装系统会自动创建 app一卸载系统也会立即删除
/data/data/packageName/
用户可以操作的文件目录
/storage/emulated/0/
二:Android 为我们提供了一系列API来获取我们需要的存储目录,如下:
Environment.getExternalStorageDirectory().getPath();
/storage/emulated/0
getExternalCacheDir().getPath();</