2012-10-29 28 views
5

即時通訊使用數據庫來存儲郵件卸載,如果我卸載我的應用程序,並重新安裝相同的應用程序,數據庫仍然是相同的,但我想清楚了我的數據庫,如何解決這個?如何清除分貝時,應用程序採用的是Android

+0

通常一切都應該被刪除的onUpgrade方法。你是如何測試它的?你真的手動卸載應用程序嗎?你的應用程序在哪裏存儲數據? – Flo

回答

4

要聽你必須實現廣播卸載事件中所接收,如:

<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); 

你可以看到更多有關這個話題在這裏Listen Broadcast Before application uninstall

我希望這對你的作品。

0

下面的代碼可以幫助你從你的應用程序

/** 
    * Re crate database 
    * Delete all tables and create them again 
    * */ 
    public void resetTables(){ 
     SQLiteDatabase db = this.getWritableDatabase(); 
     // Delete All Rows 
     db.delete(TABLE_NAME, null, null); 
     db.close(); 
    } 

刪除你的數據庫讓在你處理你的數據庫的處理手段類的一種方法。在那裏你箱子其他方法,如添加,更新等。

+2

如何調用該方法,應用程序的卸載過嗎? – Vishnu

0

的所有數據,包括數據庫,優先級,存儲在內部存儲本地數據文件上uninstall.They刪除只會停留在應用程序更新完好。

0

我認爲當你卸載應用程序這不是普通的情況,原因 - 所有的數據庫都automaticaly刪除。但是,如果沒有發生 - 嘗試清除菜單中的數據 - 管理應用程序 - 您的應用程序 - 卸載前清除數據。

0

在我來說,我只是忘了添加以下行DatabaseHelper類,當您卸載你的應用程序

onCreate(sqLiteDatabase); 
相關問題