2012-03-08 240 views
3

感謝以前的答覆,如何刪除而數據重新安裝應用程序

是可以刪除的SQLite存儲的內容一旦重新安裝應用程序。我將數據存儲在數據庫中,一旦我再次重新安裝同一個應用程序,以前的數據仍然保存在sqlite中。我想刪除存儲的內容,而重新安裝應用程序。我不確定這一點。

+3

您可以將應用程序代碼版本存儲在sharedPreferences中,並在開始時檢查版本是否不同。如果是這樣..刪除數據庫 – SERPRO 2012-03-08 12:38:26

+0

您是否嘗試清除設置>應用程序>管理應用程序>「您的應用程序」中的數據>清除數據?據我所知,它會刪除所有存儲的內容,當你卸載應用程序。 – rizzz86 2012-03-08 12:39:46

+0

是的,它會清除所有的數據一旦卸載,但我的情況是重新安裝。 – RAAAAM 2012-03-08 12:41:19

回答

1

感謝所有答覆,

我維護版本代碼的所有版本,一旦我重新安裝應用程序,我檢查版本,如果我找到的版本變化,我只是刪除了數據庫。這種情況只適用於重寫APk的安裝(即不需要卸載應用程序)。當我們進行卸載時,應用程序的內部數據和sqlite會自動刪除。

0

sqlite數據庫作爲文件存儲在您的文件系統上,以刪除數據。您只需要刪除該文件。

你想要做的是設置一些檢測應用程序是否第一次運行的方式,如果這是應用程序第一次運行,然後檢查數據庫是否存在,如果它刪除它。然後重新創建數據庫爲空。

或者,如果數據庫存在,則可以通過並刪除每個表中的所有數據/在第一次運行時刪除數據庫中的每個表。

1

這似乎是一個黑客,也許不是真正的答案,但你可以 - 隨着你的應用程序的每個新版本 - 在代碼中增加一個標識符(從10到11),然後檢查存儲的首選項該標識符。如果代碼中的常量高於先前設備上存儲的標識符,那麼可以將數據庫清理爲任何您認爲其狀態應爲的數據。然後,每個新發布的版本,你增加這個數量的應用程序..

編輯:API 9級及以上,你可以 - 只要你的應用程序啓動 - 寫在其中安裝應用程序的日期(見有關如何查找安裝日期的說明,請參閱here)。如果您確認它是在寫入日期之後安裝的,請殺死數據!

+0

如果我重新安裝相同版本的應用程序。這種方式是行不通的。 – 2012-03-08 12:43:49

+0

@SunilKumarSahoo你爲什麼要重新安裝相同的版本並丟失所有數據?爲此目的,你可以去'管理應用程序'和手動清除數據。 – SERPRO 2012-03-08 12:45:52

+0

我同意@SERPRO,這聽起來像一個愚蠢的想法... – 2012-03-08 12:49:54

0

當您刪除該應用程序時,該數據庫也應該被刪除。除非你保持一定的麻煩。如果你只是更新應用程序,那麼數據應該保留。如果您需要在重新安裝時刪除數據,請嘗試以下操作:

每次啓動活動時,請致電PackageManager.getPackageInfo()並檢查lastUpdateTime。將它與存儲在數據庫中的時間戳或共享首選項進行比較。如果lastUpdateTime較新,請刪除您的數據庫。

0

應用程序SharedPreferance在卸載應用程序時被刪除,因此保存boolean以確定應用程序是否第一次運行。

相關問題