Android中文件存储笔记

来源:互联网 发布:php项目管理系统kis 编辑:程序博客网 时间:2024/06/14 20:26

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存储规范。

1 0
原创粉丝点击