【发布时间】:2016-03-22 23:33:38
【问题描述】:
我在 android 中使用 shared preference 但它返回 null,
我看到了很多代码示例,但在我的代码中看不到任何错误
SharedPreferences sp =this.getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
Log.v("sharedpref",""+username+": "+password);
editor.putString("email", username);
editor.putString("pass",password);
editor.apply();
我正在从共享偏好中检索数据(在另一个活动中)
SharedPreferences sp =this.getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
Log.v("shersend",""+sp.getString("email", "Empty")+": "+sp.getString("pass", "Empty"));
String email = sp.getString("email", "Empty");
String pass = sp.getString("pass", "Empty");
那么我的代码有什么问题吗? 有没有更好的写法?
【问题讨论】:
-
两个活动中的“MYPREFERENCES”常量是否相同?
-
but it return null什么?SharedPreferences是null或username和password是null? -
其中的数据为空,在我的代码中打印“空”
-
确保
Log.v("sharedpref",""+username+": "+password);这一行打印的不是空值。 -
使用 this.getApplicationContext().getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);请看下面我的回答