Я пытаюсь создать две среды разработки для своего приложения, в которых URL-адрес сервера меняется в основном в каждой среде, но во время его выполнения я выбрасываю эту ошибку и не могу ее решить .
основной основной является
void main() async{
WidgetsFlutterBinding.ensureInitialized();
final prefs = new PreferenciasUsuario();
await prefs.initPrefs();
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final GlobalKey<NavigatorState> navigatorKey = new GlobalKey<NavigatorState>();
@override
void initState() {
//Config of push notification provider
super.initState();
// ulr base with globals variables
globals.url=AppConfig.of(context).url;
final pushProvider = PushNotificationProvider();
//temporal order to check if user has a current order
final temporalOrderProvider = TemporalOrderProvider();
//check the user name
final userName = UserProvider();
//checking the user data save in device
final prefs = new PreferenciasUsuario();
userName.getName(prefs.token);
temporalOrderProvider.getBarberAsigned();
//initialize the push notification provider
pushProvider.initNotifications();
pushProvider.messages.listen((data){
print(data);
if (data == 'cancel'){
navigatorKey.currentState.pushNamed('services');
}if (data == 'taken'){
navigatorKey.currentState.pushNamed('orderProccess');
}
});
}
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider( builder: (context) => UserInfo() ),
ChangeNotifierProvider( builder: (context) => ServicesProvider() ),
ChangeNotifierProvider( builder: (context) => BarberAsigned() ),
ChangeNotifierProvider( builder: (context) => Counter() ),
ChangeNotifierProvider( builder: (context) => Orderinfo() ),
],
child: MaterialApp(
debugShowCheckedModeBanner: false,
initialRoute: _rute(),
navigatorKey: navigatorKey,
routes: {
'login':(context)=> LoginPage(),
'code':(context)=> Code(),
'registerData':(context)=> RegisterData(),
'services':(context)=> Services(),
'checkin':(context)=> Checkin(),
'orderProccess':(context)=> OrderProcces(),
'publicity' : (context)=> Publicity()
// 'userInfo' : (context)=> User()
},
)
);
}
код основного производства
import 'package:flutter/material.dart';
import 'resources/app_config.dart';
import 'main.dart';
void main() {
var configuredApp = AppConfig(
appTitle: "Flutter Production Mode",
url: 'urlBaseofServer',
child: MyApp(),
);
return runApp(configuredApp);
}
и конфигурации
import 'package:flutter/material.dart';
import 'package:meta/meta.dart';
class AppConfig extends InheritedWidget{
final String appTitle;
final String url;
final Widget child;
AppConfig({
@required this.child,
@required this.appTitle,
@required this.url});
static AppConfig of(BuildContext context) {
return context.dependOnInheritedWidgetOfExactType<AppConfig>();
}
@override
bool updateShouldNotify(InheritedWidget oldWidget) => false;
}
ошибка следующая :