您的位置:首页 > 移动开发 > Android开发

Android中文件存储笔记

2016-03-23 19:29 316 查看

Android中文件存储笔记

在Android文件存储中,分为两类,一类是APP内部的存储如:有/data/data/[Package_Name]下的File,Cache目录;一类是SD卡,和手机本身的存储空间的存储。

通常情况下,具有权限,或者不希望用户通过APP外的方式修改的数据,可以存在APP内部,如果是共享,或者没有权限的存储,可以直接写在SD卡内。

先介绍APP内部存储的使用方法

内部Cache

每一个APP的目录内,都有一个cache文件夹,完整路径为/data/data/[Package_Name]/cache,里面存储一些缓存文件。*这里面的文件在APP卸载的时候会被删除,在手机中的应用程序管理器,有个“清除缓存”功能,就是清除这个cache的所有文件。

获取目录的方法

context.getCacheDir(); // 获取APP安装路径内部的Cache存储目录(需要Root才可见)


外部Cache

手机自带的存储,就是我们所说的16G,64G等,还有的手机支持存储卡,统称为外部存储,Android提供了我们在外部存储中获得一个路径来保存较大较多的Cache。

获取目录的方法

context.getExternalCacheDir(); // 如果手机没有外部存储则为空


内部File

在/data/data/[Package_Name]/中,还有一个Files的文件夹,供我们存储不想被用户或其他APP访问的文件*这里面的文件在APP卸载的时候会被删除,在手机中的应用程序管理器,有个“清除数据”功能,就是清除这个Files的所有文件。

获取目录的方法

context.getFilesDir(); // 获取APP安装路径内部的File存储目录(需要Root才可见)


外部File

同外部的Cache位于同一目录下

获取目录的方法

/**
* String type的取值
* {@link android.os.Environment#DIRECTORY_MUSIC},
* {@link android.os.Environment#DIRECTORY_PODCASTS},
* {@link android.os.Environment#DIRECTORY_RINGTONES},
* {@link android.os.Environment#DIRECTORY_ALARMS},
* {@link android.os.Environment#DIRECTORY_NOTIFICATIONS},
* {@link android.os.Environment#DIRECTORY_PICTURES}, or
* {@link android.os.Environment#DIRECTORY_MOVIES}.
*/
context.getExternalFilesDir(String type); // 如果手机没有外部存储则为空


可以看到,如果想保存不同类型的文件,占用空间比较大,而且内容不敏感,可以对外可见,就应该选择外部的File存储目录。

希望以后在开发中可以规范的使用Android存储规范。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 存储