に保存しているアプリケーションを開発してusername
いpassword
ますSharedPreferences
。私にとってはすべてがうまく機能しており、値の保存と取得が行われています。しかし、デバイスを再起動するか、アプリを強制終了すると、保存されている値SharedPreferences
がリセットされることがわかりました。アプリを再度起動すると、キーに null 値が表示され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);
今まですべてがうまくいっています。繰り返しますが、デバイスを強制的に閉じたり再起動したりすると null 値が返されるという問題を述べています。アプリのメモリに永続的に保存できますか? それとも、私はここで何か間違っていますか?
どんな助けでも大歓迎です。