我需要在我的应用程序中使用会话,所以我创建了一个名为SessionManager
的java类,在这里我初始化了我的会话但是当我创建了三个不同的 get function 并且我使用它们时,会话的价值已被覆盖......
我的功能是:
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);
那么问题是什么?
答案 0 :(得分: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();
}