android开发教程之清除android数据缓存示例(清除本地数据缓存)
/* *文件名: DataCleanManager.java *描 述: 主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录 */
importjava.io.File;
importandroid.content.Context;
importandroid.os.Environment;
/***本应用数据清除管理器*/
publicclassDataCleanManager{
/***清除本应用内部缓存(/data/data/com.xxx.xxx/cache)**@paramcontext*/
publicstaticvoidcleanInternalCache(Contextcontext){
deleteFilesByDirectory(context.getCacheDir());
}
/***清除本应用所有数据库(/data/data/com.xxx.xxx/databases)**@paramcontext*/
publicstaticvoidcleanDatabases(Contextcontext){
deleteFilesByDirectory(newFile("/data/data/"
+context.getPackageName()+"/databases"));
}
/**
**清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs)**@param
*context
*/
publicstaticvoidcleanSharedPreference(Contextcontext){
deleteFilesByDirectory(newFile("/data/data/"
+context.getPackageName()+"/shared_prefs"));
}
/***按名字清除本应用数据库**@paramcontext*@paramdbName*/
publicstaticvoidcleanDatabaseByName(Contextcontext,StringdbName){
context.deleteDatabase(dbName);
}
/***清除/data/data/com.xxx.xxx/files下的内容**@paramcontext*/
publicstaticvoidcleanFiles(Contextcontext){
deleteFilesByDirectory(context.getFilesDir());
}
/**
**清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache)**@param
*context
*/
publicstaticvoidcleanExternalCache(Contextcontext){
if(Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)){
deleteFilesByDirectory(context.getExternalCacheDir());
}
}
/***清除自定义路径下的文件,使用需小心,请不要误删。而且只支持目录下的文件删除**@paramfilePath*/
publicstaticvoidcleanCustomCache(StringfilePath){
deleteFilesByDirectory(newFile(filePath));
}
/***清除本应用所有的数据**@paramcontext*@paramfilepath*/
publicstaticvoidcleanApplicationData(Contextcontext,String...filepath){
cleanInternalCache(context);
cleanExternalCache(context);
cleanDatabases(context);
cleanSharedPreference(context);
cleanFiles(context);
for(StringfilePath:filepath){
cleanCustomCache(filePath);
}
}
/***删除方法这里只会删除某个文件夹下的文件,如果传入的directory是个文件,将不做处理**@paramdirectory*/
privatestaticvoiddeleteFilesByDirectory(Filedirectory){
if(directory!=null&&directory.exists()&&directory.isDirectory()){
for(Fileitem:directory.listFiles()){
item.delete();
}
}
}
}
相关文章
- android如何获取证书签名?
- strictmode android,Android中的StrictMode
- android布局文件详解
- java countdowntimer_Android 倒计时CountDownTimer[通俗易懂]
- Android集成GreenDao数据库
- textview设置字体大小-Android应用开发之TextView设置个别字体样式
- Android studio更新后出现警告:Warning:The `android.dexOptions.incremental` property is deprecated and it has
- 【Android 性能优化】应用启动优化 ( 阶段总结 | Trace 文件分析及解决方案 | 源码分析梳理 | 设置主题的方案总结 ) ★
- 【错误记录】Android Studio 编译报错 ( Invalid main APK outputs : EarlySyncBuildOutput )
- 【Android 插件化】多开原理 | 使用插件化技术的恶意应用 | 插件化的其它风险 | 应用开发推荐方案
- 【开发环境】Android 命令行中执行 Java 程序 ( IntelliJ IDEA 中创建 Java / Kotlin 工程 | dx 打包 DEX 字节码文件 | dalvikvm 命令 )
- 【Android Gradle 插件】Module 目录下 build.gradle 配置文件 ( android 闭包块配置 | AppExtension 扩展类型参考文档 )
- 【Android Gradle 插件】自定义 Gradle 插件模块 ④ ( META-INF 中声明自定义插件的核心类 | 在应用中依赖本地 Maven 仓库中的自定义 Gradle 插件 )
- android断点下载详解手机开发
- android Universal Image Loader for Android 说明文档 (1)详解手机开发
- 深入理解Android插件化技术详解手机开发
- Android——打造万能适配器(CommonAdapter)详解手机开发
- 「唯物」把Windows和Android来Remix一下,就得出了这个东西
- Android实现PHP连接MySQL进行数据交互(android通过php连接mysql)
- Android图片缩放与旋转的实现详解
- android开发教程之实现listview下拉刷新和上拉刷新效果
- android教程viewpager自动循环和手动循环
- android实用工具类分享(获取内存/检查网络/屏幕高度/手机分辨率)
- android开发教程之listview显示sqlite数据
- android开发教程之switch控件使用示例