package com.iflashseller.utils;import java.io.File;import android.content.Context;import android.os.Environment;/** * 本应用数据清除管理器 */public class CleanDataManager {    /** * 清除本应用内部缓存(/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();            }        }    }}

更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. 读取android手机流量信息
  4. android 使用html5作布局文件: webview跟javascript交互
  5. Android(安卓)多媒体扫描过程(Android(安卓)Media Scanner Proces
  6. android“设置”里的版本号
  7. Android中不同应用间实现SharedPreferences数据共享
  8. Android开发环境搭建
  9. Android(安卓)Resource介绍和使用

随机推荐

  1. Android反射机制实例
  2. eclipse android插件
  3. android获得手机屏幕大小
  4. Android(安卓)Studio配置google protobuf
  5. Android使用SQLite数据库的示例
  6. 1、Android开发环境的搭建
  7. Android的webView应用与js互调app混合开
  8. android 获取camera状态?
  9. Android获取一个月前的日期
  10. 【知识点】android代码中设置margin