android - 无法从不同的活动读取和写入数据到相同的共享首选项
问题描述
我有很多Activities
应用Fragments
程序。我正在从 Activity 的 Preference 中保存一些数据。我只能SharedPreference
在某些 Activity 和 Fragments 中保存和读取数据。我正在将数据写入特定的 PreferenceMainActivity
并从另一个 Preference 中读取数据Activity 和 Fragment 是可能的。但是假设当我从ActivityTwo
相同的 Preference 写入数据并读取数据ActivityThree
和其他数据时,Fragments
这是不可能的。
这是将数据保存在 Preference 中的代码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)
{
}
这是检索 Preference 值的代码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");
但是这次我无法保存值并检索值。如何做到这一点?
解决方案
推荐阅读
- javascript - DataTables 无法读取未定义的属性“行”
- c++ - 如何检查字符串或字符是否有中文字符然后显示其他字符?
- azure - 代理无法连接到服务器
- c# - 使用正则表达式去除 html,但包含字符的标签除外
- eclipse - 本地主机上的服务器 Tomcat v9.0 服务器无法启动,并且子容器在启动期间失败
- c - 将单针 Arduino LED 矩阵划分为多个扇区
- python-3.x - 在 python 3 中捕获日志消息
- c# - Word 在打开文件时发现无法读取的内容错误
- javascript - IE 11 使用 Angular JS 冻结输入框(搜索)
- memory - LittleFS 文件系统 - stm32H753BI 缓存问题