android - 如何读/写 bool 首选项

标签 android preferences sharedpreferences

编辑:这段代码确实有效。我在使用它的代码中遇到问题。无论如何都要保留它,以防有人发现它有用。

我有一个类有两种方法来写入和读取 bool 持久偏好。但是,如果我写一个新值然后尝试读取它,我仍然得到旧值。只有当我终止应用程序并重新启动它时,我才会获得新的值(value)。知道问题出在哪里吗?

 Context mContext;

 ....
 public void writeFlag(boolean flag) {
        SharedPreferences sharedPreferences = PreferenceManager
                .getDefaultSharedPreferences(mContext);
        Editor editor = sharedPreferences.edit();
        editor.putBoolean("mykey", flag);
        editor.commit();
}

public boolean readFlag() {
        SharedPreferences sharedPreferences =
               PreferenceManager.getDefaultSharedPreferences(mContext);
        return sharedPreferences.getBoolean("mykey", false);
}

最佳答案

public static boolean getBooleanFromSP(String key) {
// TODO Auto-generated method stub
    SharedPreferences preferences = getApplicationContext().getSharedPreferences(" SHARED_PREFERENCES_NAME ", android.content.Context.MODE_PRIVATE);
    return preferences.getBoolean(key, false);
}//getPWDFromSP()


public static void saveBooleanInSP(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();
}//savePWDInSP()

关于android - 如何读/写 bool 首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10369671/

相关文章:

android - Android LVL 可以使用 ANDROID_ID 的哪些替代品?

objective-c - 更新应用程序时如何处理偏好设置?

Android,阅读偏好

java - 如何访问android注解sharedPreference?

没有模拟器的Android测试

android - 通过 Windows 中的 OpenSSL 为我的 Android 应用程序创建带有自签名证书的 PKCS#12 文件

view - Eclipse 插件从 ViewPart 访问首选项

android - 从字符串数据的键获取 bool 数据后 SharedPreference 崩溃

java - Android:将 ArrayList 保存到 SharedPreferences,但加载它不起作用

java - 如何判断 ImageView 在 android 中是否有设置图像?