• /*  * 文 件 名:  DataCleanManager.java  * 描    述:  主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录  */
  • package com.test.DataClean;
  • 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();
  • }
  • }
  • }
  • }
本文转自:http://mobile.51cto.com/abased-401823.htm

Android清除本地数据缓存代码的更多相关文章

  1. Android清除本地数据缓存代码案例

    Android清除本地数据缓存代码案例 直接上代码: /*  * 文 件 名:  DataCleanManager.java  * 描    述:  主要功能有清除内/外缓存,清除数据库,清除shar ...

  2. 【Android】Android清除本地数据缓存代码

    最近做软件的时候,遇到了缓存的问题,在网上看到了这个文章,感觉不错.分享给大家看看 文章出处:http://www.cnblogs.com/rayray/p/3413673.html /* * 文 件 ...

  3. iOS - LocalCache 本地数据缓存

    1.自定义方式本地数据缓存 1.1 自定义缓存 1 沙盒路径下的 Library/Caches 用来存放缓存文件,保存从网络下载的请求数据,后续仍然需要继续使用的文件,例如网络下载的离线数据,图片,视 ...

  4. 微信小程序开发:学习笔记[9]——本地数据缓存

    微信小程序开发:学习笔记[9]——本地数据缓存 快速开始 说明 本地数据缓存是小程序存储在当前设备上硬盘上的数据,本地数据缓存有非常多的用途,我们可以利用本地数据缓存来存储用户在小程序上产生的操作,在 ...

  5. 如何清除本地DNS缓存 windows

    在您的网站迁移服务器时需要对域名所指向的IP进行更改,这时候在本机访问网站时就需要清除本地的DNS缓存信息,那么怎样清除呢? 首先我们应该明白清除DNS缓存信息的原理:当计算机对域名访问时并不是每次访 ...

  6. 使用SQLite做本地数据缓存的思考

    前言 在一个分布式缓存遍地都是的环境下,还讲本地缓存,感觉有点out了啊!可能大家看到标题,就没有想继续看下去的欲望了吧.但是,本地缓存的重要性也是有的! 本地缓存相比分布式缓存确实是比较out和比较 ...

  7. Vista/Win7以上系统查看和清除本地DNS缓存新方法

    你是否因修改网站DNS解析后,却因本机DNS缓存而需要等待... 你是否遇到修改了本机的hosts文件后,必须重起firefox和ie才起作用... 其实只要清空DNS缓存这些问题都可以解决. 查看D ...

  8. Android 清除本地缓存

    主要功能:清除内.外缓存,清除数据库,清除Sharepreference,清除files和清除自定义目录 public class DataCleanManager { //清除本应用内部缓存(/da ...

  9. [2]项目创建-使用C#.NET开发基于本地数据缓存的PC客户端

    1.新建项目->已安装->模板->Visual c#->Windows桌面->Windows窗体应用程序,截图如下: 图中1:输入项目名称-“MoneyNotes”,图中 ...

随机推荐

  1. VIM中文乱码(_vimrc配置文件备份)

    _vimrc在用户目录下: set fileencodings=ucs-bom,utf-,cp936,gb18030,big5,euc-jp,euc-kr,latin1 set encoding=ut ...

  2. The hacker's sanbox游戏

    第一关:使用/usr/hashcat程序,对passwd中root的密码进行解密,得到gravity98 执行su,输入密码gravity98. 第二关:获取提供的工具,wget http://are ...

  3. Intellj新增maven项目骨架

    我们经常用maven骨架构建项目,本来普通的几个archetype就够用的,但是近来要来时开发liferay项目 相关的项目骨架Intellj IDEA就没有内置,所以就想添加进去,  有两个办法可以 ...

  4. 类似与三元表达式的 json 读取值

    需要先在项目中添加 json的dll json 序列里面的key在item.feeType里面必须存在 否则会报 未将对象引用到实例 myDr["feeType"] = Newto ...

  5. 多重背包的入门题目HDU1171,2191,2844.

    首先,什么叫多重背包呢? 大概意思就是:一个背包有V总容量,有N种物品,其价值分别为Val1,Val2--,Val3,体积对应的是Vol1,Vol2,--,Vol3,件数对应Num1,Num2--,N ...

  6. WinSock 异步I/O模型 转载

    如果你想在Windows平台上构建服务器应用,那么I/O模型是你必须考虑的.Windows操作系统提供了五种I/O模型,分别是: ■ 选择(select):■ 异步选择(WSAAsyncSelect) ...

  7. thinkphp框架使用心得

    接触的第一个PHP框架就是TP,在使用的了一段时间后就放弃了,说实话TP的弊端挺多,之后又接触laravel框架,慢慢的就爱上laravel这个框架了.这段时间由于公司的原因,又不得不使用thinkp ...

  8. 我的接口框架---框架函数文件common.php

    <?php defined('JDHU') OR die('no allow access'); /** * 加载配置文件 */ function &get_config($replac ...

  9. SurfaceFlinger服务概述和学习计划

    SurfaceFlinger服务负责绘制Android应用程序的UI 实现相当复杂,要从正面分析它的实现不是一件容易的事.既然不能从正面分析,我们就想办法从侧面分析.说到底,无论SurfaceFlin ...

  10. mac os x 10.9.1 安装 Homebrew软件包管理工具及brew安装maven3.1.1

    Mac OSX上的软件包管理工具,安装软件或者卸载软件. 打开终端输入(如不行,可参考homebrew官网): ruby -e "$(curl -fsSL https://raw.githu ...