Android SharedPreferences, как сохранить простую переменную int
Я пытаюсь в течение последнего часа сохранить целое число в приложении для Android. Я читал, что это можно сделать с помощью SharedPreferences. Однако я не понимаю, почему это кажется настолько запутанным для этого.
Как я могу просто сохранить переменную int? И затем, когда я запустил приложение снова, как я могу снова взаимодействовать с этой переменной?
Ответы
Ответ 1
SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("your_int_key", yourIntValue);
editor.commit();
вы можете получить его как:
SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
int myIntValue = sp.getInt("your_int_key", -1);
Интерфейс SharedPreference
предоставляет вам доступ к XML файлу и простой способ его изменения через свой редактор. Файл хранится в /data/data/com.your.package/shared_prefs/
, и вы можете получить к нему доступ onlu через этот SharedPreference
API
Ответ 2
public void SaveInt(String key, int value){
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt(key, value);
editor.commit();
}
public void LoadInt(){
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
savedValue = sharedPreferences.getInt("key", 0);
}
Если вы хотите сохранить переменную где-то, вам нужно написать SaveInt ( "ключ", 5); При этом вы сохраните значение 5, а первое значение по умолчанию - 0. Если вы хотите загрузить его и использовать в другом действии, вы должны написать оба этих метода и вызвать LoadInt(); где вам нужна переменная. Сохраненное значение Value является предопределенным целым числом (это нужно объявлять везде, где вы хотели бы использовать сохраненную переменную)
Ответ 3
Это пример установки логических настроек. Вы также можете пойти с Integer.
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(this);
if (!prefs.getBoolean("firstTime", false)) {
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("firstTime", true);
editor.commit();
}
Надеюсь, это может быть полезно.