2012-03-20 17 views
3

我的理解是,如果我將任何數據保存到Android平臺的內部存儲中,用戶可以通過以下方式輕鬆刪除這些數據:設置 - >應用程序 - >管理應用程序 - >(選擇您的應用程序) - >清除數據我可以將數據保存到Android上的內部存儲中嗎?用戶無法刪除它?

有沒有一種方法可以保存數據(或SharedPreferences)的方式,它不能被用戶刪除?

+0

你可以把它放在一個不關心清除數據選項的地方,但我不知道這是否可以放在內部存儲器 – njzk2 2012-03-20 13:59:45

+0

對不起,你能澄清一下你的意思嗎?一個不關心清晰數據選項的地方'? – Crocodile 2012-03-20 14:06:35

+0

基本上你的包數據目錄之外的任何目錄。如果你在/ sdcard /中創建了一個文件,如果你的用戶清除了數據,它將不會被刪除(至少我不認爲它會) – njzk2 2012-03-20 15:00:51

回答

5

你問的問題有兩個方面。

首先,有沒有一種方法可以存儲用戶無法刪除的數據。

不,這是不可能的,也不應該。

其次,在管理應用程序時調用「清除數據」時,有沒有辦法將數據存儲在擦除區域之外。

是的,那是可能的。您需要添加訪問SD卡的權限,請參閱herehere。尋找

WRITE_EXTERNAL_STORAGE 

有關訪問外部存儲的全部細節,請參見here

編輯:

沒有辦法保存數據(SharedPreferences)的方式,由是不可刪除用戶,也不應該有。這對惡意應用程序來說是一種很好的方式來對手機做惡意的事情(如果沒有其他的話,填滿手機上的內部存儲並使其失敗,沒有選擇「清除數據」來修復它)。

保存未使用設置中的清除數據選項刪除的數據。您唯一的選擇是保存到'外部存儲'中,這個'外部存儲'同時被視爲'內部sd卡'和'外部sd卡'。基本上,任何不能通過清除數據刪除的地方。

我相信這會回答你的問題。如果不是這樣,那麼請澄清你想知道的內容,而不是在評論中說'它不回答我的問題'。告訴我我沒有回答,並且如果有的話請選擇最正確的答案。

+0

那麼,如果你看看整個問題的實際答案是不是根據你的答覆,但謝謝你的答案清除它:-) – Crocodile 2012-03-20 19:38:04

0

如果數據不是很大,請將其寫入項目中的xml文件。沒有卸載應用程序,無法刪除它。

+0

如何將它寫入一個xml文件?我正在考慮保存安裝應用程序後獲得的動態數據。例如:用戶特定的信息 – Crocodile 2012-03-20 14:23:33

+0

我不介意android允許這樣做。也許你可以使用資產,但我不確定這是你想不想的。 – Tugrul 2012-03-20 21:00:11

相關問題