Я следовал приведенному ниже руководству по состоянию подключения на основе подключения к Интернету.
ссылка: https://www.filledstacks.com/post/make-your-flutter-app-network-aware-using-provider-and-connectivity-status/
Теперь проблема заключается в том, что я пытаюсь реализовать код.в конце процесса, где я использую StreamProvider, в компоновщике я получаю эту ошибку:
ошибка: возвращаемый тип 'StreamController' не является 'Stream', как определено анонимным закрытием.
КОД СЛЕДУЕТ СЛЕДУЮЩЕМУ: main.dart
@override
Widget build(BuildContext context) {
return StreamProvider(
builder: (context) => ConnectivityService().connectionStatusController, // ERROR LINE
child: ChangeNotifierProvider<ThemeChanger>(
builder: (_) => ThemeChanger((x) ? ThemeChanger.customDarkTheme : ThemeChanger.customLightTheme),
child: new MaterialAppWithTheme(),
),
);
}
}
полностью заменил мой код типа на код git авторов, ссылка ниже: https://github.com/FilledStacks/flutter-tutorials/tree/master/011-network-sensitive-ui/
я пробовал поиск в Google, нобесполезно для моего случая.что не так в моем коде?это потому, что я использую другого провайдера?
ОБНОВЛЕНО ОТВЕТА В РЕШЕНИИ, НАЙДЕННОГО САМО ОТКРЫТИЕМ
@override
Widget build(BuildContext context) {
return StreamProvider(
builder: (context) => ConnectivityService().connectionStatusController.stream, // add .stream at end
child: ChangeNotifierProvider<ThemeChanger>(
builder: (_) => ThemeChanger((x) ? ThemeChanger.customDarkTheme : ThemeChanger.customLightTheme),
child: new MaterialAppWithTheme(),
),
);
}
}
Я думаю, что их обновлениек пакету с момента публикации Учебного пособия, и так как я просматривал много статей, я взял Контроллер потока ключевых слов, сделал с ним RND, а затем перешел к Stream Provider и сделал еще несколько RND по этому вопросу, и при этом увиделприемник и поток в одном из других учебников, но, поскольку я был намного впереди в коде и эффективен благодаря этому учебнику.я только добавил поток в конце с периодом и вуаля!проблема решена.
Я надеюсь, что люди смогут найти это решение, готовое для их приложения :)