写入两个不同的 SharedPreference 并得到相同的结果

Writing in two different SharedPreference and getting the same result

我在 Android 上编程时尝试写入两个不同的字符串键值时遇到问题。我对两个不同的键具有相同的值。

SharedPreferences idUserPref = getSharedPreferences(getString(R.string.id_utilisateur), Context.MODE_PRIVATE);
SharedPreferences estConnectePref = getSharedPreferences((getString(R.string.estConnecte)), Context.MODE_PRIVATE);
SharedPreferences.Editor estConnecteEditor = estConnectePref.edit();
SharedPreferences.Editor userIdEditor = idUserPref.edit();
userIdEditor.putString(getString(R.string.id_utilisateur), result);
estConnecteEditor.putString(getString(R.string.estConnecte), "vrai");
userIdEditor.commit();
estConnecteEditor.commit();
String utilisateurId = idUserPref.getString(getString(R.string.id_utilisateur), "Invalid");
String estConnecte = estConnectePref.getString(getString(R.string.estConnecte), "faux");
Log.d("ConnexionActivity", "Id User : "+utilisateurId);
Log.d("ConnexionActivity", "est connecté : " + estConnecte);

Logcat 中的结果是:

08-19 18:25:27.005 3882-3882/com.partenaires.legimetrie.legimetrieapp D/ConnexionActivity: Id User : vrai
08-19 18:25:27.005 3882-3882/com.partenaires.legimetrie.legimetrieapp D/ConnexionActivity: est connecté : vrai

我不明白为什么。有人可以帮助我吗?

我发现了问题,这是因为我试图使用具有相同值的 R.string.id_utilisateur 和 R.string.estConnecte,所以在 strings.xml 文件中,我只是更改了它们值。

仅供参考:共享首选项以 xml 格式存储值,其中包含共享首选项的名称。

因此,要使用不同的共享偏好存储价值,您必须为共享偏好使用不同的名称。

所以 R.string.id_utilisateur 和 R.string.estConnecte 必须是不同的名称。