2011-08-18 44 views
12

我想以一種在應用程序安裝之間存在的方式存儲少量數據。我顯然不能使用SharedPreferences,因爲它們在卸載時被刪除。有沒有什麼方法來存儲數據,以便它能夠重新安裝應用程序?我可以將數據存儲在Android設備上以在安裝之間保留嗎?

我想要存儲的數據是一個唯一的ID,以便在應用程序用戶行爲不當時阻止該用戶。如果我無法存儲ID,我可以訪問Google帳戶的電子郵件地址以將其用作指示符嗎?

本博客文章使它沒有OS產生任何好的ID的明確,考慮到平板電腦 Android: Identifying app installations

回答

9

您可以將數據存儲在共享首選項中,並使用backup manager自動備份數據。應用程序重新安裝後應該恢復。

沒有真正的方法來阻止某些人的應用程序。您可以讓所有用戶創建一個帳戶來使用該應用並阻止這些帳戶,但他們總是可以重新創建一個帳戶。您可以在SD卡上存儲某些內容並進行檢查,但惡意用戶可以找到並刪除它。您可以嘗試讓用戶通過他們的Google帳戶對自己的應用程序進行身份驗證(andlytics正在使用類似的身份驗證方法),但用戶可以重置手機並創建新的Google帳戶。

您必須選擇阻止用戶的重要程度以及您想要惹惱其他用戶的程度,因爲某些用戶未按預期使用您的應用程序。

+0

完美,謝謝Janusz –

+0

請注意使用'BackupManager'的一個潛在問題 - 從您的鏈接:'數據備份不保證在所有Android設備上都可用' – RivieraKid

0

如果應用程序被刪除,數據被刪除時尤其如此。你可以把東西放在SD卡上,但沒有理由相信它會留在那裏。您可能可以通過應用程序許可機制來開展工作。細節here

+0

是的,這不會削減它,因爲有些設備沒有SD卡。它需要成爲一個設備不可知的解決方案。 –

1

是的。您可以將一些數據存儲在內部存儲器或SD卡中。這可以通過創建用戶不可見的(.somename)文件夾並創建一個file.txt來存儲數據來完成。

相關問題