我正在开发一个应用程序,我在其中存储username
和password
. SharedPreferences
一切对我来说都很好,存储和检索值。但我发现当我重新启动设备或应用程序被强制关闭时,存储的值SharedPreferences
被重置。当我再次启动我的应用程序时,我在SharedPreferences
键中得到空值。这是我为存储值所做的事情:
SharedPreferences emailLoginSP;
emailLoginSP = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
emailLoginSP.edit().putString("prefEmailId", email_text).commit();
emailLoginSP.edit().putString("prefUserId", userIDToken).commit();
emailLoginSP.edit().putString("prefAccess_token", accessToken).commit();
Intent i = new Intent(LoginWithEmail.this,UserInfoActivity.class);
i.putExtra("acess_token", accessToken);
i.putExtra("user_id", userIDToken);
i.putExtra("emailID", email_text);
startActivity(i);
而且,这就是我正在检索它的方式:
SharedPreferences emailLoginSP = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
loginEmail = emailLoginSP.getString("prefEmailId", null);
loginUserId = emailLoginSP.getString("prefUserId", null);
loginAccessToken = emailLoginSP.getString("prefAccess_token", null);
到目前为止,一切都很好。我再次说明我的问题,即当我强制关闭或重新启动设备时我得到空值。我们可以将其永久存储在应用程序内存中吗?或者,我在这里做错了什么?
任何帮助将不胜感激。