Environment
Environment类是一个提供访问环境变量的类。
- getDataDirectory() 方法:返回 File ,获取 Android 数据目录。即data的目录(/data)
- getDownloadCacheDirectory() 方法:返回 File ,获取 Android 下载/缓存内容目录。即(/cache)
- getExternalStorageDirectory() 方法:返回 File ,获取外部存储目录即 SDCard (/mnt/sdcard or /storage/sdcard0)
- getRootDirectory() 方法:返回 File ,获取 Android 的根目录 即系统主目录(/system)
- getExternalStoragePublicDirectory()方法:返回 File ,获取一个公用的外部存储器目录(标准目录)来摆放某些类型的文件 (/storage/emulated/0 )
- getExternalStorageState() 方法:返回String, 获取外部存储设备的当前状态
注意点:
- 获取外部存储时, 有可能会因为各种问题导致获取失败, 建议先使用 getExternalStorageState 来判断外部存储状态, 如果已挂载的话再存储。
- 确认sdcard的存在:Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)
- 读写SD卡记得加这两个权限:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>
Context
- getFilesDir():/data/user/0/应用包名/files
- getCacheDir():/data/user/0/应用包名/cache
- getExternalCacheDir():/storage/emulated/0/Android/data/应用包名/cache
- getExternalFilesDir(String type):/storage/emulated/0/Android/data/应用包名/files/type指定目录
- getDataDir():/data/user/0/应用包名
- getObbDir(): /data/user/0/应用包名/obb
对于obb文件夹的说明:
Obb
文件是Google
提供的将占存储空间较大的图片资源影音资源等制作成的压缩文件包,Obb
文件可以在上架App
时同时上传,常用于一些大型游戏通用数据包。
如果程序中不存在Obb文件,则该应用文件夹下就不会存在obb子文件夹。
一般Obb文件比其他应用文件夹下的文件来说不能更改,只能读