2017-10-09 89 views
-5
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPref.edit(); 
editor.putInt(getString(R.string.saved_high_score), newHighScore); 
editor.commit(); 

它是否足以維持插入順序?如何維護插入共享​​首選項的順序?

+2

你是什麼意思按插入順序? – sumit

+1

你的意思是你寫了兩次相同的密鑰? – Henry

+1

我在代碼中看不到多個插入。如果只有一個插入,則Therre無序。 –

回答

3

我想你並不完全理解SharedPreferences是如何工作的。沒有訂單。類似於地圖,每個條目都有一個鍵和一個值。如果使用已存在的鍵向SharedPreferences寫入值,則新值將覆蓋舊值。如果您從SharedPreferences中讀取數據,則順序無關緊要,因爲您使用密鑰讀取數據。您無法迭代SharedPreferences中的數據。

所以,當你的意圖是隻保存最新/最高分時,答案是:是的,該代碼將起作用。但是,如果您想保存高分列表等內容,您的解決方案將無法使用。然後,您將需要唯一的鍵來保存所有要保存的值。