2016-12-05 2 views
0

Я делаю простую рубящую игру, и я экономлю вещи, такие как золото в SharedPreferences. Как удалить его с SharedPreferences , но все еще можно назвать стоимость золота, например, игра «Темпл 2».Удалить некоторые SharedPreferences

ответ

1

Чтобы удалить определенные значения: SharedPreferences.Editor.remove() сопровождаемых commit()

Чтобы удалить их все SharedPreferences.Editor.clear() с последующим commit()

Если вы не заботитесь о возвращаемом значении, и вы используете это из вашего приложения основной поток, рассмотрите возможность использования apply().

0

Вы можете написать Shared Preferences

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

как скрыть высокий балл? его все еще видно в местоположении sharedpreferences в андроиде клиента – 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 

 Смежные вопросы

  • Нет связанных вопросов^_^