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