Мои предпочтения становятся недействительными после попытки горячего перезапуска или повторного открытия приложения. - PullRequest
0 голосов
/ 18 марта 2020

Нормально ли для общего предпочтения сбросить значение после попытки горячего перезапуска или повторного открытия приложения? потому что мои предпочтения становятся недействительными после того, как я это сделаю.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 18 марта 2020

Я исправляю эту проблему, удаляя эту строку из моего приложения:

SharedPreferences.setMockInitialValues ​​({});

void main() {
  // ignore: invalid_use_of_visible_for_testing_member
  SharedPreferences.setMockInitialValues({});
  runApp(MyApp());
}
0 голосов
/ 18 марта 2020

Надеюсь, это сработает для вас.

Сделать синглтон классом 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);
    }
}

Как использовать: В Activity / Fragment

public SessionManager sessionManager;

sessionManager = new SessionManager(YourActivityContext);

Для сохранения данные:

sessionManager.setKeyUserName("Your Value");

Для получения данных:

sessionManager.getKeyUserName();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...