2017-04-14 38 views
-2

我不知道是否可以從外部修改SharedPreferences的xml文件。如果在我的遊戲中,我使用SharedPreferences來保存分數,用戶可能會搜索應用程序目錄中的xml文件,並使用簡單的文本編輯器修改分數,然後應用程序讀取錯誤的值?在此先感謝:)Android中的SharedPreferences文件

+0

你是否親自嘗試過?請嘗試在此處報告。 – greenapps

+2

如果設備是根源的,那麼是的,它是可以編輯prefs文件,它只是xml鍵/值對,同樣可以說是用於編輯sqlite數據庫 –

+2

如果您擔心作弊,那麼您可以使用算法來更改值,所以他們需要編碼/解碼 - 一個簡單的抽象層次將轉換您的首選項到Base64字符串..它提供了一個更多的抽象,最小的額外努力,但仍然可以破譯。 –

回答

0

兄弟不要擔心。這些所有文件都會保存在用戶的谷歌驅動器與私人有關的谷歌播放帳戶。沒有人可以訪問它。即使用戶從設備上卸載應用程序,它也會一直存在。 當用戶重新安裝應用程序時,它將獲取其數據。

+0

我認爲它更像是一個阻止用戶作弊的案例......該文件可以很容易地在具有提升特權的根設備上進行更改。 –

0

是的,但是。只有設備根源於,因爲首選項存儲在:

/data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PREFS_NAME.xml 

只有root用戶可以訪問/ data文件夾。 順便說一句,你可以通過加密鍵/值對來保護你的偏好。 請參考此question的第一個答案。