Невозможно читать и записывать данные в одно и то же общее предпочтение из разных действий - PullRequest
0 голосов
/ 09 мая 2018

У меня есть много Activities и Fragments в приложении. Я сохраняю некоторые данные в Предпочтения из Activity. Я могу сохранять и считывать данные в один и тот же SharedPreference только в некоторых действиях и фрагментах. Я пишу данные к определенному предпочтению из MainActivity и чтению данных из того же предпочтения в другом действии и фрагменте возможно. Но предположим, что когда я записываю данные из ActivityTwo в то же предпочтение и читаю данные в ActivityThree и других Fragments, это невозможно.
Это код для сохранения данных в настройках с MainActivity

SharedPreferences prefs,prefs1;
    SharedPreferences.Editor edit;

     prefs=MainActivity.this.getSharedPreferences("myPrefs",MODE_PRIVATE);
     edit=prefs.edit();
      public void onResponse(JSONObject response) {

                        try {
                            saveToken = response.getString("token");
                            edit.putString("token", saveToken);
                            Log.i("Login", saveToken);
                            edit.apply();
                            }
                            catch(JSONException e)
                            {

                            }  

Это код для получения значения предпочтения в Fragment

SharedPreferences prefs;
  prefs=getContext().getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
  myToken = prefs.getString("token", "empty");  

Это код для сохранения данных в том же предпочтении из SecondActivity

 SharedPreferences prefs;
SharedPreferences.Editor edit;
 String saveToken;
  prefs = ActivitySecond.this.getSharedPreferences("myPrefs", MODE_PRIVATE);
    @Override
    public void onResponse(JSONObject response) {
    try {
               edit = prefs.edit();
             saveToken = response.getString("token");
              edit.putString("token", saveToken);
            edit.apply();
        }
         catch(JSONException e)
         {
         }  

Это код для получения того же значения в том же другом Fragments приложении

SharedPreferences prefs;
  prefs=getContext().getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
  myToken = prefs.getString("token", "empty");  

Но на этот раз я не могу сохранить значение и получить его. Как это сделать?

...