2 jonskeet JonSkeet 于 2013.04.24 16:37 提问

卸载程序时如何清理数据库

我使用数据库来存储信息,如果我卸载了程序,然后再重新安装一次,数据库仍然是相同的,但是我想清理数据库,如何解决这个问题?

2个回答

Baby_Bonnie
Baby_Bonnie   2013.04.24 17:37
已采纳

监听 uninstall 事件,你必须实现一个 broadcast received

<application
android: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);
hxn_217
hxn_217   2013.04.25 10:09

下面的代码可以删除程序中的数据库

**
     * 重新创建数据库
     * 删除所有的表再重建
     * */
    public void resetTables(){
        SQLiteDatabase db = this.getWritableDatabase();
        // Delete All Rows
        db.delete(TABLE_NAME, null, null);
        db.close();
    }

在一个类中创建一个方法处理数据库,这里你可以创建其它的方法,比如添加,删除。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!