ChangeNotifierProxy Provider и ChangeNotifier Provider теряют значение при обновлении приложения

Я использую ChangeNotifierProxyProvider для предоставления класса DatabaseService. Провайдер показан ниже

 ChangeNotifierProxyProvider<AuthService, DatabaseService>(
    create:(_)=> DatabaseService() ,
    update: (_,AuthService authService, DatabaseService databaseService)=> databaseService..update(authService.currentUserId),
    ), 

Вот функция обновления в DatabaseService

void update (String uid)async {

if(uid==this.uid) return;
this.uid=uid;
notifyListeners();
print("USER ID IS : " + uid); }

Когда пользователь входит в систему, класс Database успешно получает uid, и вызов Provider.of(context).uid работает нормально. Проблема в том, что когда я обновляю приложение, uid сбрасывается до значения по умолчанию. Как я могу предотвратить сброс значения после обновления приложения.

1 ответ

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

Другие вопросы по тегам