java - 如何在 sharedPreferences 中保存字符串
问题描述
我有一个应用程序,我需要在 sharedpreferences 中保存一个字符串,以便用户已经打开应用程序一次并注册了他的电子邮件,他不必再次通过同一屏幕而是直接进入主屏幕。
我的班级偏好助手
public class PreferencesHelpers {
private static final String SHARED_PREFS = "sharedPrefs";
private static final String TEXT = "ahhsaushhuuashu"; //I want to save this string
public String text;
public static void saveData(Context context) {
SharedPreferences sharedPreferences = context.getSharedPreferences(SHARED_PREFS, MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("", TEXT);
}
public static String loadData(Context context) {
SharedPreferences sharedPreferences = context.getSharedPreferences(SHARED_PREFS, MODE_PRIVATE);
String text = sharedPreferences.getString("ahhsaushhuuashu", "");
return text;
}
}
MyLogic 在 MainActivity 中保存和检索 sharedPreferences 值
if (!preferencesHelpers.loadData(getApplicationContext()).contains("ahhsaushhuuashu")) {
webView.loadUrl(URL_);
preferencesHelpers.saveData(getApplicationContext());
} else {
switch (urlMessage) {
case "REDR":
webView.loadUrl(URL + "cira");
break;
default:
webView.loadUrl(URL + "?UDI=" + getInstance().getRegistrationManager().getSystemToken() + "&dev=" + getInstance().getRegistrationManager().getDeviceId() + "&source=app");
}
}
我寻找适合我情况的答案,但我没有找到并原谅我的英语
解决方案
您需要一个固定密钥来保存和读取您的首选项,而您忘记应用 SharedPreference 的修改。
你需要这样做:
private static final String SHARED_PREFS = "sharedPrefs";
private static final String TEXT = "ahhsaushhuuashu";
private static final String KEY = "myKey";
public static void saveData(Context context) {
SharedPreferences sharedPreferences = context.getSharedPreferences(SHARED_PREFS, MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(KEY, TEXT);
editor.apply();
}
public static String loadData(Context context) {
SharedPreferences sharedPreferences = context.getSharedPreferences(SHARED_PREFS, MODE_PRIVATE);
String text = sharedPreferences.getString(KEY, "");
return text;
}
推荐阅读
- django - 创建自定义过滤器
- javascript - div上的onblur不适用于内部输入子元素
- javascript - 为什么我不能在选择中选择选项?
- javascript - 遍历分组集合
- javascript - Angular 无法将用户输入从 html 传递给打字稿
- html - XSLT:for-each div 与部分孩子
- ios - UISegmented Control 具有相同的表格视图和单元格中的 uibutton
- jmeter - JMXmon 动态值处理
- java - 如何将字符串切成碎片并通过蓝牙发送每一个?
- android - 深度链接、Android 应用链接、Firebase 动态链接和应用索引之间的区别