2013-05-10 129 views
4

我在應用程序中創建了Sqlite數據庫。當我清除settings->applications->manage applications的數據時,Sqlite db被刪除。任何建議,以保持sqlite數據庫。當我從應用程序中清除數據時刪除Sqlite數據庫

+0

http://stackoverflow.com/questions/7806629/why-sqlite-database-cleared-on-clearing-data-of-application-from-application-man – Nermeen 2013-05-10 06:46:27

+0

我已閱讀這篇文章。運行這篇文章中提供的一個示例。它保存插入到數據庫幫助類的創建方法中的數據。運行應用程序後,我已經插入記錄到數據庫,然後再次清除數據我插入的記錄被刪除。 @Nunu – PSK 2013-05-10 07:01:49

+0

是的,因爲清除數據也意味着刪除數據庫..然後,當應用程序啓動時,沒有找到數據庫,它會再次創建它,並插入現有的記錄在創建 – Nermeen 2013-05-10 07:04:17

回答

9

當您從Android應用程序管理器中按Clear Data它應該刪除與應用程序有關的所有內容,例如首選項,數據庫,緩存等等,剩下的唯一東西就是應用程序,所以當您重新啓動時,它的行爲就好像它剛剛安裝。

如果要允許用戶清除數據但保留數據庫,那麼應在菜單中有一個選項來刪除共享首選項,但不對數據庫執行任何操作。

希望這會有所幫助。

+0

好的謝謝你的迴應。 @Boardy – PSK 2013-05-10 10:56:19

0

爲什麼要在用戶想要清除所有內容時保留數據? 建議您不要保留分貝。

我建議你使用SD卡來存儲圖像/文本文件與用戶的足夠的許可。

0

Android的SQLite是用於本地應用程序數據存儲的。當您選擇擦除應用程序的數據時,會擦除此數據(如預期的那樣)。

如果您想要保存DB數據,請查看外部存儲(例如,晚期的Parse.com或MS的Azure)。您將進行網絡通話,您的本地數據仍將被清除,並且您需要有一種方法將您的應用程序與本地擦除後的外部數據(例如登錄)進行備份,但您的外部數據將在應用程序數據清除後生存。

根據您的使用情況,「連接」部分也可以減輕,例如。 Google Play遊戲的數據服務與您的Google Play ID綁定,並在應用清除後重新同步。

相關問題