`

Android手动清除APP中Data目录下的文件

 
阅读更多
在项目中这样的需求,在用户触发重置的时候需要清除自身APP中的数据,APP自身的数据存储在/data/data/packagename/目录下,如下图:




lib目录下存储so库文件,不能清除,需清除其他目录下的文件;

	/**
	 * 清除APP数据
	 */
	private void clearData() {
//		final String path = "/data/data/" + getPackageName().toString();
		final String path = getFilesDir().getParent();
		
		//清空配置文件目录shared_prefs;
		File file_xml = new File(path + "/shared_prefs");
		if (file_xml.exists()) {
			File[] files = file_xml.listFiles();
			for (int i = 0; i < files.length; i++) {
				files[i].delete();
			}
		}

		//清空缓存目录;
		File file_cache = getCacheDir();
		if (file_cache.exists()) {
			File[] files = file_cache.listFiles();
			for (int i = 0; i < files.length; i++) {
				files[i].delete();
			}
		}

		//清空file目录;
		File file_file = new File(path + "/files");;
		if (file_file.exists()) {
			File[] files = file_file.listFiles();
			for (int i = 0; i < files.length; i++) {
				files[i].delete();
			}
		}

		//清空数据库目录;
		File file_db = new File(path + "/databases");
		if (file_db.exists()) {
			File[] files = file_db.listFiles();
			for (int i = 0; i < files.length; i++) {
				files[i].delete();
			}
		}
	//这里可以重启你的应用程序,我的app中有service,所以我只要杀死进程就自动重启了。
android.os.Process.killProcess(android.os.Process.myPid());	
}


注意:上述方法要配合自己的其他代码进行,不然可能会出现因文件删除而找不到文件的错误;
  • 大小: 8.1 KB
0
0
分享到:
评论
2 楼 gqdy365 2014-12-08  
Function 写道
需要手机ROOT才能用吧.

清除自己APP的数据不需要root权限,如果要清楚系统中其他应用data目录下的数据,需要root。
1 楼 Function 2014-12-05  
需要手机ROOT才能用吧.

相关推荐

    android开发教程之清除android数据缓存示例(清除本地数据缓存)

    在实际应用中,清除数据缓存的时机可以是用户手动触发、应用启动时、更新版本后或者在系统内存不足时。开发者应当确保在清除缓存时不影响应用的正常运行,并且考虑到用户数据的保护,避免丢失重要信息。 总结起来,...

    10.0创建恢复出厂设置不被清除的文件夹节点.zip

    1. **选择位置**:确定一个不会被常规清理程序触及的地方,如Windows的%APPDATA%目录或Android的/data/data/目录。 2. **权限设置**:使用命令行工具(如Windows的CMD或PowerShell,Android的adb shell)修改文件夹...

    新版Android开发教程.rar

    Android 的 App Market 模式,软件开发者获得 7 成收入, 3 成用于系统维护。难点在于位置营销。 设备商通过卖设备、内置特色应用来获得盈利。也可以兼职专业软件开发者进行赢利。 Google 自身通过基于统一平台为...

    Android程序卸载

    这通常在 `/data/app` 或 `/data/app-private` 目录下完成,取决于应用是否为系统应用。 2. **数据清理**: - **SQLite数据库**:应用程序创建的所有SQLite数据库文件会被删除,这些文件通常位于 `/data/data/...

    安卓安装卸载相关-Android利用设备管理器实现APP无法卸载功能.rar

    在res/xml目录下创建device_admin_receiver.xml文件,配置设备管理员的特性,例如是否阻止卸载。 ```xml &lt;device-admin xmlns:android="http://schemas.android.com/apk/res/android"&gt; ``` 3. **...

    Android平台ROM的定制及精简教程

    - 在模拟器环境中,每次重启后,`/system/app/` 下的应用程序会被还原,甚至`/data/app/`下的数据也可能被清除。 - 如果在`/system/app/` 和 `/data/app/` 下存在同名应用,则不一定启动哪个版本,特别是在使用ADB...

    清除系统LJ.rar

    4. **手动删除特定目录**:如%temp%、%appdata%下的缓存文件夹等。 四、自动化清理工具 1. **CCleaner**:流行的免费工具,可以清理临时文件、浏览器缓存、注册表等。 2. **Glary Utilities**:提供多种系统维护...

    packageinstall-apk静默安装完整代码和备份app patch.zip

    在Android系统中,通常我们通过用户界面来安装应用程序,但有时开发者或管理员可能需要在后台或者无用户交互的情况下安装APK,这就需要用到静默安装。静默安装可以通过ADB(Android Debug Bridge)工具或者自定义...

    Android中使用SharedPreferences保存密码(修饰版)的代码清单.pdf

    在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于保存应用程序的配置信息或用户的一些简单数据,如密码、首选项等。它提供了键值对的存储方式,支持基本数据类型如字符串...

    android设备管理

    &lt;meta-data android:name="android.app.device_admin" android:resource="@xml/device_admin" /&gt; &lt;action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /&gt; ``` 这里的`description`属性用于显示...

    【教程】APPTOSD(APP2SD)图文配合教你如何将软件装在内存卡上.pdf

    在Android 2.2版本及以上,系统已原生支持应用程序安装到SD卡,但并非所有应用都支持此功能,且用户仍需手动操作。此外,进行APP2SD操作对SD卡的质量有一定要求,低质量的卡可能导致设备在重启后出现异常,如无限...

    android权限集合

    根据提供的文件信息,我们可以整理出一系列与Android权限相关的知识点,这些权限在开发Android应用时扮演着重要的角色。接下来,我们将详细介绍这些权限的功能及用途。 ### 1. android.permission.ACCESS_CHECKIN_...

    Android 设备管理员

    在Android系统中,设备管理员(Device Administrator)是一个关键的安全特性,允许应用程序获取额外的权限来管理设备,如锁定屏幕、清除数据、控制安装应用等。这些功能对于企业级管理尤其重要,可以确保设备符合...

    清理应哟缓存的方式(包括清理系统应用的缓存)

    2. **手动清理特定应用缓存**:进入“C:\Users\用户名\AppData”目录,这里的“AppData”是隐藏文件夹,需要在文件夹选项中设置显示隐藏文件。找到对应应用的缓存文件夹,如Chrome的缓存位于“Local Storage”和...

    天星A5000卡刷包

    3. **META-INF**:这个目录在Android刷机包中非常关键,它包含了刷机过程中的元数据和控制文件。其中的`META-INF/com/android/installer/`目录下的文件如`manifest.xml`,通常记录了刷机包的版本信息、作者、目标...

    Android WebView 缓存详解

    同时,也可以手动清除 WebView 缓存数据库和缓存文件: 1. 删除缓存数据库:deleteDatabase("webview.db"); deleteDatabase("webviewCache.db"); 2. 删除缓存文件:File appCacheDir = new File(getFilesDir()....

    详细讲解Android中使用LoaderManager加载数据的方法

    在Loader被重置时,我们清除Adapter中的数据,防止内存泄漏。 LoaderManager的优势在于它可以自动处理Activity的生命周期。例如,当你旋转屏幕导致Activity重建时,LoaderManager会自动重新启动Loader,你不需要...

    自定义ROM卡刷包教程

    在system/app目录下,你可以找到各种预装的APK文件,这些是可以根据个人喜好进行添加、删除或替换的。但要注意,只有英文命名的APK文件可以被安全地处理,带有中文名的文件可能会导致刷机失败。 以下是一份来自网络...

Global site tag (gtag.js) - Google Analytics