文档章节

清除数据

红尘_追梦人
 红尘_追梦人
发布于 2016/01/12 17:35
字数 376
阅读 2
收藏 0

/*  * 文 件 名:  DataCleanManager.java  * 描    述:  主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录  */

 

import java.io.File;

 

import android.content.Context;

 

import android.os.Environment;

 

/** * 本应用数据清除管理器 */

 

public class DataCleanManager {

 

    /** * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) * * @param context */

 

    public static void cleanInternalCache(Context context) {

 

        deleteFilesByDirectory(context.getCacheDir());

 

    }

 

    /** * 清除本应用所有数据库(/data/data/com.xxx.xxx/databases) * * @param context */

 

    public static void cleanDatabases(Context context) {

 

        deleteFilesByDirectory(new File("/data/data/"

 

                + context.getPackageName() + "/databases"));

 

    }

 

    /**

 

     * * 清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs) * * @param

 

     * context

 

     */

 

    public static void cleanSharedPreference(Context context) {

 

        deleteFilesByDirectory(new File("/data/data/"

 

                + context.getPackageName() + "/shared_prefs"));

 

    }

 

    /** * 按名字清除本应用数据库 * * @param context * @param dbName */

 

    public static void cleanDatabaseByName(Context context, String dbName) {

 

        context.deleteDatabase(dbName);

 

    }

 

    /** * 清除/data/data/com.xxx.xxx/files下的内容 * * @param context */

 

    public static void cleanFiles(Context context) {

 

        deleteFilesByDirectory(context.getFilesDir());

 

    }

 

    /**

 

     * * 清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache) * * @param

 

     * context

 

     */

 

    public static void cleanExternalCache(Context context) {

 

        if (Environment.getExternalStorageState().equals(

 

                Environment.MEDIA_MOUNTED)) {

 

            deleteFilesByDirectory(context.getExternalCacheDir());

 

        }

 

    }

 

    /** * 清除自定义路径下的文件,使用需小心,请不要误删。而且只支持目录下的文件删除 * * @param filePath */

 

    public static void cleanCustomCache(String filePath) {

 

        deleteFilesByDirectory(new File(filePath));

 

    }

 

    /** * 清除本应用所有的数据 * * @param context * @param filepath */

 

    public static void cleanApplicationData(Context context, String... filepath) {

 

        cleanInternalCache(context);

 

        cleanExternalCache(context);

 

        cleanDatabases(context);

 

        cleanSharedPreference(context);

 

        cleanFiles(context);

 

        for (String filePath : filepath) {

 

            cleanCustomCache(filePath);

 

        }

 

    }

 

    /** * 删除方法 这里只会删除某个文件夹下的文件,如果传入的directory是个文件,将不做处理 * * @param directory */

 

    private static void deleteFilesByDirectory(File directory) {

 

        if (directory != null && directory.exists() && directory.isDirectory()) {

 

            for (File item : directory.listFiles()) {

 

                item.delete();

 

            }

 

        }

 

    }

 

}

 


© 著作权归作者所有

红尘_追梦人
粉丝 0
博文 2
码字总数 546
作品 0
程序员
私信 提问
新版 Microsoft Edge 改进隐私选项,清除数据更加容易

在为清除浏览数据功能重新设计用户界面后,新版 Microsoft Edge 浏览器与其他基于 Chromium 的浏览器显得有所不同了。Microsoft 开发人员使这一隐私功能的入口更容易被找到,不仅如此,他们也...

xplanet
05/20
0
0
程序员:怎样释放你的Android手机存储空间

Android应用在运行之中会产生一些数据,比如图片的缓存,数据库文件,配置文件等等。我们开发时可能会有这样的一个需求清除应用内缓存的数据,可以让用户选择删除应用内产生的数据,这也是比...

极客人
2017/02/23
0
0
[Android源码解析] 清空应用内部文件缓存

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/47911191 Android应用中加载的图片以及一些数据缓存怎么清掉呢?最近在做项目中遇到了这个问...

进阶的玄武
2015/08/23
0
0
【Android】Android清除本地数据缓存代码

主要功能清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录

二胡艺
2015/08/26
0
0
android:manageSpaceActivity让应用手动管理应用的数据目录

今天在Android遇到一个需求,不允许用户完全清除应用私有目录(/data/data/包名/),但是Android默认情况下用户通过在应用信息里面点击清除数据按钮把所有的应用私有目录下的的数据文件完全清...

亭子happy
2014/09/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用阿里云镜像安装kubernetes

参考阿里云镜像 https://opsx.alibaba.com/mirror?lang=zh-CN 系统: CentOS / RHEL / Fedora cat <<EOF > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https......

北漂的我
18分钟前
0
0
【HAVENT原创】前端使用 jsrsasign 进行 RSA 加密、解密、签名、验签

最近因项目需求,需要配合 JAVA 后端返回的签名,在 H5 网页中做验签功能。网上搜了一下发现了 jsrsasign 满足需求,所以顺便研究了一下 jsrsasign 。 首先去官网下载压缩包,解压后只需要引...

HAVENT
23分钟前
0
0
SpringMVC常见面试题总结【概念】

什么是Spring MVC?介绍你对SpringMVC的理解。 springmvc是一个基于java实现了mvc设计模式的轻量级web框架,通过把model,view,controller分离,将web层进行解耦,把复杂的web应用分成几部分...

薛小二
29分钟前
0
0
ucos 中断,调度,互斥 分析

实际场景: 首先有个标志位 pps_flag,是一个全局变量。有两个地方会用到这个变量,一个是pps信号触发的外部中断,一个是ucos的任务。当pps信号触发外部中断的时候pps_flag被置为2,当任务里面...

青春无极限
44分钟前
1
0
spark streaming、flink和storm区别浅析

1. 介绍 这三个计算框架常常被拿来比较。从我的角度来看,三者的比较可以分为两类(mini-batches vs. streaming)。spark streaming属于微批量的伪流式准实时计算框架(spark本身属于批处理框架...

xiaomin0322
52分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部