存储两个sharedPreferences但不更新其中一个

时间:2018-01-19 20:30:33

标签: android sharedpreferences

我根据他们对应用程序的处理方式存储每个用户共享首选项,用户可以拥有多个gmails帐户,并且即时尝试管理每个帐户的共享首选项,问题是我设法将每个帐户的defaultsharedpreferences副本复制到每个帐户中对于我的用户电子邮件偏好,问题是当我对应用程序执行某些操作时用户首选项永远不会更改,但默认首选项确实如此,这是我的代码

sharedPrefsDefault = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
        sharedPrefs = getSharedPreferences(sharedPrefsDefault.getString(getString(R.string.str_userMail),"error"), Context.MODE_PRIVATE);
        PreferenceManager.setDefaultValues(getApplicationContext(),(sharedPrefsDefault.getString(getString(R.string.str_userMail),"error")), Context.MODE_PRIVATE, R.xml.preferences, false);

我正在onCreate中将defaultPrefs存储到我的sharedPrefs(用户)

1 个答案:

答案 0 :(得分:1)

我不是%确定您计划实现的目标,而是创建自己的SharedPreferences类。这样的事情。

public class UserPreferences{

SharedPreferences.Editor editor;
SharedPreferences sharedPreferences;


 public UserPrefs(String userName, Context context) {
    this.context = context;
    sharedPreferences = context.getSharedPreferences(userName, 0);
    editor = sharedPreferences.edit();
 }
 public String getUserMail(){
   return sharedPreferences.getString("userMail","abc@def.gh");
 }
 public String setUserMail(String s){
   editor.putString("userMail",s);
   editor.apply();
 }
}