以下代码是处理SharedPreference中两个变量的存在性的代码片段。当我第一次运行应用程序时,它成功地保存了变量的值(editor.commit返回TRUE)。当我退出应用程序并重新启动时, settings.contains无法找到我的第一次运行时创建的两个变量/键,它们是共享的首选项。结果我的应用程序创建了另一个值,这不应该到其他条件)。共享首选项无法找到已创建的密钥
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences settings =
PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor=settings.edit();
if (settings.contains("passug1"))
Passug1=settings.getString("passug1","");
else {
sendJson1();
editor = settings.edit();
//sendJson1();
editor.putString("passug1", Passug1);
if (editor.commit())
System.out.println("Successfully saved");
else
System.out.println("Not saved");
//editor.apply();
}
if (settings.contains("passug2"))
Passug2=settings.getString("passug2","");
else
{
sendJson2();
editor = settings.edit();
//sendJson2();
editor.putString("passug2", Passug2);
if (editor.commit())
System.out.println("Successfully saved");
else
System.out.println("Not saved");
//editor.commit();
//editor.apply();
}
我应该在某处预先为共享偏好创建一个xml吗?我没有那样做。 –
请给我们任何一个可以编译和运行的[mcve]。 –