外部存储external storage和内部存储internal **storage******
1、内部存储
内部存储不是内存,如果文件存储于内部存储中,那么该文件默认只能被自己的应用访问到。当一个应用卸载之后,内部存储中的这些文件也被删除。存储系统本身和系统应用程序主要的数据(Shared Preferences、SQLite数据库),一旦内部存储空间耗尽,手机也就无法使用了。所以对于内部存储空间,我们要尽量避免使用。
使用Context.getFilesDir()可以获取内部存储的根目录
File file=new File(getFilesDir(),"fileName");
![内部]BMB9B0RX.png](https://img.haomeiwen.com/i2206304/35b469dd3557e6cf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2、外部存储
把手机连接电脑,能被电脑识别的部分就一定是外部存储。
有两种类型的文件(或者目录):
- 公共文件Public files:
文件是可以被自由访问,当应用被卸载之后,其卸载前创建的文件仍然保留。比如camera应用,生成的照片大家都能访问,而且camera不在了,照片仍然在。
可以使用Environment.getExternalStoragePublicDirectory()等方法,获取外部存储的目录。
- 私有文件Private files:
外部存储上,应用私有文件的价值在于卸载之后,这些文件也会被删除。创建应用私有文件的方法是Context.getExternalFilesDir()。外部存储的私有文件放在根目录的Android/data/下,目录形式为/Android/data/<package_name>/。
创建应用私有文件的方法是Context.getExternalFilesDir()等等
网友评论