Android - 无法访问SharedPreferences Booleans - LogCat中没有任何内容

时间:2013-04-18 10:54:16

标签: sharedpreferences

我使用以下方法实现了共享首选项的实例:

起始点:

SharedPreferences prefs=getPreferences(Context.MODE_PRIVATE);
        SharedPreferences.Editor editor=prefs.edit();
        editor.putBoolean("name",true);
        editor.putBoolean("cap",true);
        editor.putBoolean("code",true);
        editor.putBoolean("time",true);
        editor.putBoolean("ssid",true);
        editor.commit();

终点:

SharedPreferences prefs = getSharedPreferences(NDEF_PREF, Context.MODE_PRIVATE); 
            boolean name = prefs.getBoolean("name", true); 
            boolean cap= prefs.getBoolean("cap", true);
            boolean code = prefs.getBoolean("code", true);
            boolean time = prefs.getBoolean("time", true);
            boolean ssid = prefs.getBoolean("ssid", true);

测试方法:

Boolean isTrue;
                isTrue = null; // valid
                isTrue = true; // valid
                isTrue = false; // valid
                if (isTrue == null) {
                    Log.d(TAG, "Working Boolean!!!");

Boolean isTrue;
            isTrue = null; // valid
            isTrue = true; // valid
            isTrue = false; // valid
            if (isTrue != null) {
                Log.d(TAG, "NON Working Boolean!!!");

结果:

使用任一方法

在LogCat中都不会出现任何内容

问题:

我是否正确实施了所有内容?如果是这样 - 为什么我无法检查我的新共享首选项?

1 个答案:

答案 0 :(得分:0)

我已尝试下面的代码并猜测它在logcat中的显示“val if null”

public void onCreate(Bundle savedInstanceState) 
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

SharedPreferences pref = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("name", true);

SharedPreferences prefs = getSharedPreferences("prefs",0);
// Boolean val=prefs.getBoolean("name1", true);
Boolean  val=null;
//Log.e("vaaa00", ""+val.toString());
if(val!= null)
   Log.e("val if ", ""+val);
else
   Log.e("val else", ""+val);        
}