Java 如何设置共享首选项
我正在尝试设置共享首选项,但以下代码在两种情况下都会导致Java 如何设置共享首选项,java,android,sharedpreferences,Java,Android,Sharedpreferences,我正在尝试设置共享首选项,但以下代码在两种情况下都会导致false 当该标志不存在时,我首先获取该标志的值,并期望出现false。但是,然后我将该值设置为true,并再次获取该标志,这次我希望true,但它仍然是false SharedPreferences sharedPref = getSharedPreferences("myapp",0); //fetch value when it does not exist Boolean mobileFlag = shar
false
当该标志不存在时,我首先获取该标志的值,并期望出现false
。但是,然后我将该值设置为true
,并再次获取该标志,这次我希望true
,但它仍然是false
SharedPreferences sharedPref = getSharedPreferences("myapp",0);
//fetch value when it does not exist
Boolean mobileFlag = sharedPref.getBoolean("mobile_flag", false);
Log.d("mobileFlag1", mobileFlag+"");
//set the value
SharedPreferences.Editor editor = sharedPref.edit();
editor.putBoolean("mobile_flag",true);
//fetch value when it has been set.
mobileFlag = sharedPref.getBoolean("mobile_flag", false);
Log.d("mobileFlag2", mobileFlag+"");
两次日志消息的结果都是:
D/mobileFlag1﹕ false
D/mobileFlag2﹕ false
您没有提交新值
editor.putBoolean("mobile_flag",true).commit();
您没有提交新值
editor.putBoolean("mobile_flag",true).commit();
使用
editor.putBoolean(“mobile_标志”,true)后
您需要放置editor.commit()
。这将保存您的SharedReference,否则将不保存任何内容。使用editor.putBoolean(“mobile\u flag”,true)后
您需要放置editor.commit()
。这将保存您的SharedReference,否则将不保存任何内容。您需要在编辑完SharedReference中的变量后提交更改
editor.commit();
您需要在完成SharedReferences中变量的编辑后提交更改
editor.commit();