В настоящее время я пытаюсь сохранить локальные чаты, но сохраняется только последнее предпочтение. Ниже приводится способ сохранения строки в конкретном ключе.Sharedpreference только сохраняет последнюю строку после перезапуска приложения
public void saveSettings(Context context, String key, String value){
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = preferences.edit();
editor.putString(key, value).apply();
Это, как я получить строку:
public String getString(Context context, String key, String defaultValue){
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
return preferences.getString(key,defaultValue);
}
Проблема заключается в том, что он будет возвращать только последнюю сохраненную строку, остальные кнопки будут возвращать defaultvalue
. Например, я сохраняю 3 разных строки с тремя разными ключами с помощью первого метода. При попытке получить строки с getString()
Он вернет только строку для последнего сохраненного ключа.
Вы пытались извлечь файл предпочтений и проверить, записаны ли данные? – Mauker