以下代碼是處理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]。 –