这是我的代码:
> summary(hival)
Mode FALSE TRUE NA's
logical 4367 53 2076
>
Logcat中的:
public void saveValue(String value, String forKey) {
SharedPreferences.Editor editor = getSharedPreferences().edit();
editor.putString(value, forKey);
editor.commit();
SharedPreferences p = getSharedPreferences();
System.out.println("JUST SET TO SharedPreferences" + p.getString(forKey, ""));
}
但当app在断点处停止时,我看到值实际存储在
中
我在模拟器上运行应用程序。
我如何阅读这些值?谢谢!
答案 0 :(得分:1)
我认为您在此处切换了密钥和值editor.putString(value, forKey);
。
签名为putString (String key, String value)
。
答案 1 :(得分:1)
问题在于您使用forKey
作为密钥,该密钥最初是作为SharedPreferences
中的值添加的,而不是此处的关键字:
editor.putString(value, forKey);
如您所见,value
是键,forKey
是值
因此,当您从SharedPreferences
获取值时,您应该使用该键来获取值:
p.getString(value, "") //dont use forKey as the value
或 你应该互相切换
editor.putString(forKey, value);
因此forkey
将起作用