/**
* @author xly 清除缓存类
*/
public class ClearCacheDataUtil {
/**
* @param context 清除本应用内部缓存(/data/data/com.cihi/cache)
*/
public static void cleanInternalCache(Context context) {
deleteFilesByDirectory(context.getCacheDir());
}
/**
* @param context 清除本应用的所有数据库文件(/data/data/com.cihi/databases)
*/
public static void cleanDatabases(Context context) {
deleteFilesByDirectory(new File(context.getFilesDir().getPath() + "/databases"));
}
/**
* @param context 清除本应用的SharedPreferences(/data/data/com.cihi/shared_prefs)
*/
public static void cleanSharedPreferences(Context context) {
deleteFilesByDirectory(new File(context.getFilesDir().getPath() + "/shared_prefs"));
}
/**
* @param context 按数据库名删除数据库
* @param dbName 数据库名
*/
public static void cleanDatabaseByName(Context context, String dbName) {
context.deleteDatabase(dbName);
}
/**
* @param context 清除文件夹(/data/data/com.cihi/files)下的文件
*/
public static void cleanFiles(Context context) {
deleteFilesByDirectory(context.getFilesDir());
}
/**
* @param context 清除cache(/data/data/com.cihi/cache)内容
*/
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);
cleanSharedPreferences(context);
cleanFiles(context);
for (String file : filePath) {
cleanCustomCache(file);
}
}
/**
* @param context 清空SD卡cihi文件夹下用户保存的图片
*/
public static void celarImages(Context context) {
File file = null;
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
file = new File(Environment.getExternalStorageDirectory() + "/cihi/");
} else {
file = MyApplication.getInstance().getApplicationContext().getFilesDir();
}
try {
if (file != null && file.exists() && file.isDirectory()) {
for (File item : file.listFiles()) {
if (item.getName().endsWith(".jpg")) {
item.delete();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 清空Cihi应用下的缓存:ImageLoader的缓存和语音数据表
*/
public static void cleanCihiCache() {
cleanImageLoaderCache();
cleanVoiceData();
}
/**
* 清除ImageLoader的缓存:SD卡中、内存的缓存中
*/
private static void cleanImageLoaderCache() {
try {
ImageLoader.getInstance().clearDiscCache(); //清除SD卡中的缓存
ImageLoader.getInstance().clearMemoryCache(); //清除内存缓存
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 清除语音数据表中的数据
*/
private static void cleanVoiceData() {
DatabaseUtil.clearVoice();
}
/**
* @param directory 删除某个文件夹下的文件,如果参数是文件,则不作处理
*/
private static void deleteFilesByDirectory(File directory) {
if (directory != null && directory.exists() && directory.isDirectory()) {
for (File file : directory.listFiles()) {
file.delete();
}
}
}
}
* @author xly 清除缓存类
*/
public class ClearCacheDataUtil {
/**
* @param context 清除本应用内部缓存(/data/data/com.cihi/cache)
*/
public static void cleanInternalCache(Context context) {
deleteFilesByDirectory(context.getCacheDir());
}
/**
* @param context 清除本应用的所有数据库文件(/data/data/com.cihi/databases)
*/
public static void cleanDatabases(Context context) {
deleteFilesByDirectory(new File(context.getFilesDir().getPath() + "/databases"));
}
/**
* @param context 清除本应用的SharedPreferences(/data/data/com.cihi/shared_prefs)
*/
public static void cleanSharedPreferences(Context context) {
deleteFilesByDirectory(new File(context.getFilesDir().getPath() + "/shared_prefs"));
}
/**
* @param context 按数据库名删除数据库
* @param dbName 数据库名
*/
public static void cleanDatabaseByName(Context context, String dbName) {
context.deleteDatabase(dbName);
}
/**
* @param context 清除文件夹(/data/data/com.cihi/files)下的文件
*/
public static void cleanFiles(Context context) {
deleteFilesByDirectory(context.getFilesDir());
}
/**
* @param context 清除cache(/data/data/com.cihi/cache)内容
*/
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);
cleanSharedPreferences(context);
cleanFiles(context);
for (String file : filePath) {
cleanCustomCache(file);
}
}
/**
* @param context 清空SD卡cihi文件夹下用户保存的图片
*/
public static void celarImages(Context context) {
File file = null;
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
file = new File(Environment.getExternalStorageDirectory() + "/cihi/");
} else {
file = MyApplication.getInstance().getApplicationContext().getFilesDir();
}
try {
if (file != null && file.exists() && file.isDirectory()) {
for (File item : file.listFiles()) {
if (item.getName().endsWith(".jpg")) {
item.delete();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 清空Cihi应用下的缓存:ImageLoader的缓存和语音数据表
*/
public static void cleanCihiCache() {
cleanImageLoaderCache();
cleanVoiceData();
}
/**
* 清除ImageLoader的缓存:SD卡中、内存的缓存中
*/
private static void cleanImageLoaderCache() {
try {
ImageLoader.getInstance().clearDiscCache(); //清除SD卡中的缓存
ImageLoader.getInstance().clearMemoryCache(); //清除内存缓存
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 清除语音数据表中的数据
*/
private static void cleanVoiceData() {
DatabaseUtil.clearVoice();
}
/**
* @param directory 删除某个文件夹下的文件,如果参数是文件,则不作处理
*/
private static void deleteFilesByDirectory(File directory) {
if (directory != null && directory.exists() && directory.isDirectory()) {
for (File file : directory.listFiles()) {
file.delete();
}
}
}
}