保存数据到文件
总:保存数据到文件可分为内部存储(internal)和外部存储(external)两种
一.internal storage
- 总是可用的
- 这里的文件默认只能被我们的app所访问。
- 当用户卸载app的时候,系统会把internal内该app相关的文件都清除干净。
- Internal是我们在想确保不被用户与其他app所访问的最佳存储区域。
二:External storage
- 并不总是可用的,因为用户有时会通过USB存储模式挂载外部存储器,当取下挂载的这部分后,就无法对其进行访问了。
- 是大家都可以访问的,因此保存在这里的文件可能被其他程序访问。
- 当用户卸载我们的app时,系统仅仅会删除external根目录(getExternalFilesDir())下的相关文件。
- External是在不需要严格的访问权限并且希望这些文件能够被其他app所共享或者是允许用户通过电脑访问时的最佳存储区域。
分:internalstorage与External storage的权限问题
internal storage不需要设置权限,External storage设置了
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
写的权限就默认有了读的权限
注意点:
External storage需要先进行状态判断,若getExternalStorageState() == MEDIA_MOUNTED则可以读写