我是java新手,我不明白如何完全阅读代码所以这可能是一个重复的问题。我想保存一个布尔状态,以便当用户退出或启动应用程序时,bool将等于相同的值。我想将值保存在一个活动中,而不是在另一个活动中使用它。我找到了参考文献
saving boolean preference problem
但我不懂文档。我想保存类似于intent.setExtra的值,但我希望它保存,即使应用程序已关闭。
答案 0 :(得分:1)
您必须使用SharedPreferences,它允许您将数据保存到Android将为您创建的XML文件中。这是在android中保存数据以保存数据的最简单方法,你必须执行以下操作。
//declare the shardPreferences variable..
SharedPreferences sp = new SharedPreferences("TheNameOfTheFile", 0);
// to save data you have to call the editor
Editor edit = sp.edit();
//save the value same as putExtras using keyNamePair
edit.putBoolean("KEY", BooleanValue);
//when done save changes.
edit.commit();
现在从sharedPreferences中读取并在访问应用程序时只需调用onCreate中的sharedPreferences即可获取数据。
SharedPreferences sp = getSharedPreferences(Samefilename, 0);
//get Data is same as putExtras however the second argument is used as default value
//so if the key wasn't found give getBoolean variable a false
boolean getBoolean = sp.getBoolean("Key", false);
希望这能帮助你...快乐的编程。
答案 1 :(得分:0)
SharedPreferences类提供了一个通用框架,允许您保存和检索原始数据类型的持久键值对。您可以使用SharedPreferences保存任何原始数据:布尔值,浮点数,整数,长整数和字符串。这些数据将在用户会话中持续存在(即使您的应用程序被终止)。
在共享偏好中存储布尔值
SharedPreference sPrefs=PreferenceManager.getDefaultSharedPreferences(context);
SharedPreference.Editor sEdit=sPrefs.edit();
sEdit.putBoolean("YOUR_KEY",YOUR_VARIABLE);
从共享偏好中回复布尔值
boolean b=sPrefs.getInt("YOUR_KEY",default);
答案 2 :(得分:0)
优先保存布尔值。
public static void saveBoolean(String key, boolean value)
{
SharedPreferences preferences = getApplicationContext().getSharedPreferences(" SHARED_PREFERENCES_NAME ", android.content.Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean(key, value);
editor.commit();
}
从偏好中获取布尔值。
public static boolean getBoolean(String key)
{
SharedPreferences preferences = getApplicationContext().getSharedPreferences(" SHARED_PREFERENCES_NAME ", android.content.Context.MODE_PRIVATE);
return preferences.getBoolean(key, false);
}
希望它会对你有所帮助。