在我尝试热重启或重新打开应用程序后,共享首选项重置值是否正常?因为在我这样做之后,我的偏好就变成了空。
谢谢。
发布于 2020-03-18 17:21:05
我通过从我的应用程序中删除这一行来解决这个问题:
SharedPreferences.setMockInitialValues({});
void main() {
// ignore: invalid_use_of_visible_for_testing_member
SharedPreferences.setMockInitialValues({});
runApp(MyApp());
}发布于 2020-03-18 12:09:02
我希望这对你有用。
创建SharedPreference的单例类
public class SessionManager {
public SharedPreferences prefs;
private Context _Context;
private SharedPreferences.Editor editor;
private static final String PREF_NAME = "YourAppName";
private static final int PREF_MODE = 0;
public SessionManager(Context context) {
if (context != null) {
this._Context = context;
prefs = context.getSharedPreferences(PREF_NAME, PREF_MODE);
editor = prefs.edit();
}
}
public static final String KEY_NAME = "name";
public void setKeyUserName(String name) {
editor.putString(KEY_NAME, name);
editor.commit();
}
public String getKeyUserName() {
return prefs.getString(KEY_NAME, null);
}
}如何使用:在活动/片段中
public SessionManager sessionManager;
sessionManager = new SessionManager(YourActivityContext);对于保存数据:
sessionManager.setKeyUserName("Your Value");获取数据:
sessionManager.getKeyUserName();https://stackoverflow.com/questions/60732722
复制相似问题