安卓系统提供了不同于pc的访问文件系统根路径的api,同时对一个应用的私有文件做了统一的管理。
外部存储external storage和内部存储internal storage
1.内部存储:
getFilesDir()获取你app的内部存储空间,相当于你的应用在内部存储上的根目录。
2.外部存储:
外存储根目录:
Environment.getExternalStorageDirectory()
外部存储私有文件:
Context.getExternalFilesDir()
外存储公共文件:
Environment.getExternalStoragePublicDirectory
所有的安卓设备都有外部存储和内部存储,这两个名称来源于安卓的早期设备,那个时候的设备内部存储确实是固定的,而外部存储确实是可以像U盘一样移动的。但是在后来的设备中,很多中高端机器都将自己的机身存储扩展到了8G以上,他们将存储在概念上分成了"内部internal" 和"外部external" 两部分,但其实都在手机内部。所以不管安卓手机是否有可移动的sdcard,他们总是有外部存储和内部存储。最关键的是,我们都是通过相同的api来访问可移动的sdcard或者手机自带的存储(外部存储)。
外部存储虽然概念上有点复杂,但也很好区分,你把手机连接电脑,能被电脑识别的部分就一定是外部存储。