Оператор проверки нуля используется для нулевого значения, появляющегося при выходе текущего пользователя из системы.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Оператор проверки нуля используется для нулевого значения, появляющегося при выходе текущего пользователя из системы.

Сообщение Anonymous »


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

это мой код main.dart

import 'dart:async'; импортировать «пакет: firebase_auth/firebase_auth.dart»; импортировать «пакет: флаттер/материал.dart»; импортировать «пакет: google_mobile_ads/google_mobile_ads.dart»; импортировать «пакет: провайдер/провайдер.dart»; импортировать «пакет:water_reminder_app/screens/home_page.dart»; импортировать «пакет:water_reminder_app/screens/start_page.dart»; импортировать «пакет:water_reminder_app/services/notify_service.dart»; импортировать «пакет:water_reminder_app/widgets/database.dart»; импортировать «пакет:water_reminder_app/widgets/user_data.dart»; импортировать «firebase_options.dart»; импортировать «пакет: firebase_core/firebase_core.dart»; импортировать «модель/pages_names.dart»; Future main() async { ВиджетыFlutterBinding.ensureInitialized(); неожиданный (MobileAds.instance.initialize()); ждать NotificationServices().init(); ждут Firebase.initializeApp (параметры: DefaultFirebaseOptions.currentPlatform); запустить приложение( ChangeNotifierProvider( create: (контекст) => CloudDataProvider(), дочерний элемент: const MyApp()), ); } класс MyApp расширяет StatefulWidget { const MyApp({ супер.ключ, }); @переопределить State createState() => _MyAppState(); } класс _MyAppState расширяет State { Нить? профильImagePath; Пользователь? пользователь; @переопределить недействительный initState() { супер.initState(); пользователь = FirebaseAuth.instance.currentUser; } @переопределить Сборка виджета (контекст BuildContext) { окончательный CloudDataProvider = Provider.of(контекст, прослушивание: ложь); окончательный вес = cloudDataProvider.weight; последний блок = cloudDataProvider.unit; последнее время сна = cloudDataProvider.bedtime; окончательное пробуждение = cloudDataProvider.wakeUptime; вернуть Мультипровайдер( провайдеры: [ ChangeNotifierProvider( создать: (контекст) => UserDataProvider(), ), ChangeNotifierProvider( создать: (контекст) => CloudDataProvider(), ), ], дочерний элемент: MaterialApp( debugShowCheckedModeBanner: ложь, дома: пользователь == ноль ? константная стартовая страница() : Домашняя страница( вес: вес ?? 0, единица: единица ?? '', bedTime: время сна ?? '', пробуждениеВремя: пробуждениеВремя ?? ''), onGenerateRoute: MyRoutes.genrateRoute, ), ); } } А это файл CloudDataProvider

import 'package:cloud_firestore/cloud_firestore.dart'; импортировать «пакет: firebase_auth/firebase_auth.dart»; импортировать «пакет: флаттер/cupertino.dart»; класс CloudDataProvider расширяет ChangeNotifier { двойной? масса; Нить? единица; Нить? время сна; Нить? время пробуждения; void fetchUserData() асинхронный { конечный пользователь? пользователь = FirebaseAuth.instance.currentUser; если (пользователь != ноль) { окончательный пользовательский документ = FirebaseFirestore.instance.collection('users').doc(user.uid); окончательный userSnapshot = ждут userDoc.get(); вес = userSnapshot['вес'] как двойной; unit = userSnapshot['unit'] как строка; время сна = userSnapshot['время сна'] как строка; WakeUptime = userSnapshot['время пробуждения'] как строка; } уведомить слушателей(); } } Вы можете найти все приложение по этой ссылке на gitHub

Я пытался использовать ?? вместо !, который я нашел в этой ссылке. Оператор проверки нуля используется для нулевого значения, но ошибка все еще существует. кто-нибудь может знать, как решить эту проблему
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»