我在应用程序中有很多Activities
和Fragments
。我正在从Activity中保存Preference中的一些数据。我能够在某些活动和片段中将数据保存并读取到同一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");
但是这次我无法保存值并检索值。如何做到这一点?