问题描述
- 卸载程序时如何清理数据库
- 我使用数据库来存储信息如果我卸载了程序,然后再重新安装一次数据库仍然是相同的但是我想清理数据库如何解决这个问题?
解决方案
监听 uninstall 事件,你必须实现一个 broadcast received
<applicationandroid:icon=""@drawable/ic_launcher""android:label=""@string/app_name"" ><activity android:name="".UninstallIntentActivity"" android:label=""@string/app_name"" > <intent-filter> <action android:name=""android.intent.action.MAIN"" /> <category android:name=""android.intent.category.LAUNCHER"" /> </intent-filter> <intent-filter> <action android:name=""android.intent.action.VIEW"" /> <action android:name=""android.intent.action.DELETE"" /> <category android:name=""android.intent.category.DEFAULT"" /> <data android:scheme=""package"" /> </intent-filter></activity></application>
在 UninstallIntentActivity 中,你应该使用下一行来删除数据库:
context.deleteDatabase(DATABASE_NAME);
解决方案二:
下面的代码可以删除程序中的数据库
** * 重新创建数据库 * 删除所有的表再重建 * */ public void resetTables(){ SQLiteDatabase db = this.getWritableDatabase(); // Delete All Rows db.delete(TABLE_NAME null null); db.close(); }
在一个类中创建一个方法处理数据库,这里你可以创建其它的方法,比如添加,删除。
时间: 2025-01-21 13:54:25