2016-12-05 50 views
0

我正在做一个简单的削减游戏,我在SharedPreferences储蓄像黄金 的东西。如何从SharedPreferences 中移除它,但仍然可以调用金币的价值,如Temple run 2游戏。删除一些SharedPreferences

回答

1

要删除特定值:SharedPreferences.Editor.remove()后跟一个commit()

要全部删除SharedPreferences.Editor.clear()接着是commit()

如果你不关心的返回值和你使用这个从你的应用程序主线程,请考虑使用apply()来代替。

0

您可以写信给共享偏好

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPref.edit(); 
editor.putInt(getString(R.string.saved_high_score), newHighScore); 
editor.commit(); 

,然后从共享偏好

SharedPreferences sharedPref = 
getActivity().getPreferences(Context.MODE_PRIVATE); 
int defaultValue = getResources().getInteger(R.string.saved_high_score_default); 
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue); 

而且也看了,不要忘记得到处理这样

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
+0

这就是使用SharedPreferences所需要的全部内容,但是,我认为你应该告诉人们使用apply()而不是commit(),因为 –

+0

你怎么隐藏高分?它仍然可见在客户端android – abcOfJavaAndCPP

+0

共享首选的位置我认为这个答案符合法案,但你应该发布你的解决方案,并让OP决定哪些对他们更有用 –

0

东西:

SharedPreferences sp = getSharedPreferences("your sp name", Context.MODE_PRIVATE); 
    sp.edit().remove("gold").commit();// remove gold 
    sp.edit().clear().commit();//remove all