Как получить данные из SharedPreferences?
Мне нужно использовать сессии в моем приложении, поэтому я создал класс Java под названием SessionManager
и здесь я инициализировал свои сеансы, но когда я создал три разные функции get и использовал их, значения сеансов были перезаписаны...
Мои функции:
public String getBname() {
return pref.getString(BREAKFAST_NAME,null);
}
public String getBcalories() {
return pref.getString(BREAKFAST_CALORIES,null);
}
public String getBquantity() {
return pref.getString(BREAKFAST_QUANTITY,null);
}
и я называю их так:
String name=sessionDay.getBname();
String calories=sessionDay.getBcalories();
String quantity=sessionDay.getBquantity();
etFBreakFast.setText("Name: " + name + "\n" + "Calories: " + calories + "\n" + "Quantity: " + quantity);
Так в чем проблема?
1 ответ
Решение
Вы можете использовать SharedPreferences для того, чтобы сохранить, извлечь или удалить. Проверьте следующий код.
SharedPreferences prefs = null;
public static void storeToPrefs(Context context, String key, String value) {
prefs = PreferenceManager.getDefaultSharedPreferences(context);
final SharedPreferences.Editor editor = prefs.edit();
editor.putString(key,value);
editor.commit();
}
public static String retrieveFromPrefs(Context context, String key, String defaultValue) {
prefs = PreferenceManager.getDefaultSharedPreferences(context);
try {
return prefs.getString(key, defaultValue);
} catch (Exception e) {
e.printStackTrace();
return defaultValue;
}
}
public static void deleteAllPrefs(Context context){
prefs = PreferenceManager.getDefaultSharedPreferences(context);
prefs.edit().clear().commit();
}