内部存储:
1.不需要权限
2.当MODE_PRIVA TE 时,其他App不可操作。非MODE_PRIVATE 时也需要别的APP知道包名、文件名才能访问。
3.当删除App时,移除文件
方法:
getFile sDi r();
getCache(); //当内存不足时,系统会无警告的删除该文件夹的内容,尽可能自己规定文件大小,与何时删除
getFIleOutPutStream();
外部存储:
1.需要权限
2.分为:
PublicFile:
a)所有App可见
b)删除App时不移除文件
c)方法:
getExternalStroragePublicDirectory()
PrivateFile:
a)虽然在外部存储,但事实上不提供数据给其他App
b)当删除App时,移除文件
c)方法:
getExternalFilesDir()
//外部存储方法的形参最好用A PI 的常量例如DIRECTORY_PICTURES ,这样系统就会很好的分类(用于文件分类操作)
3.需要检测外部SDK是否加载
Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) ;