Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Exception “如何修复”;[错误:方法';[]';在null上被调用。E/flatter(18386):Receiver:null";flatter 导入'dart:async'; 导入“dart:convert”; 导入“dart:io”; _Exception_Flutter_Null_Flutter Layout_Unhandled - Fatal编程技术网

Exception “如何修复”;[错误:方法';[]';在null上被调用。E/flatter(18386):Receiver:null";flatter 导入'dart:async'; 导入“dart:convert”; 导入“dart:io”;

Exception “如何修复”;[错误:方法';[]';在null上被调用。E/flatter(18386):Receiver:null";flatter 导入'dart:async'; 导入“dart:convert”; 导入“dart:io”; ,exception,flutter,null,flutter-layout,unhandled,Exception,Flutter,Null,Flutter Layout,Unhandled,“如何修复”;[错误:方法';[]';在null上被调用。E/flatter(18386):Receiver:null";flatter 导入'dart:async'; 导入“dart:convert”; 导入“dart:io”; 进口“包装:dio/dio.dart”; 进口“包装:颤振/材料.省道”; 导入“包:flifter/services.dart”; 导入“Models/UserData.dart”; 类LoginScreen扩展StatefulWidget{

“如何修复”;[错误:方法';[]';在null上被调用。E/flatter(18386):Receiver:null";flatter
导入'dart:async';
导入“dart:convert”;
导入“dart:io”;
进口“包装:dio/dio.dart”;
进口“包装:颤振/材料.省道”;
导入“包:flifter/services.dart”;
导入“Models/UserData.dart”;
类LoginScreen扩展StatefulWidget{
静态常量字符串id='/login_screen';
@凌驾
状态createState(){
返回_loginpagentate();
}
}
类_loginpagentate扩展状态{
静态var url=“url”;
静态BaseOptions=BaseOptions(
baseUrl:url,
responseType:responseType.plain,
连接超时:30000,
接收超时:30000,
验证状态:(代码){
如果(代码>=200){
返回true;
}
});
静态Dio Dio=Dio(选项);
GlobalKey _scaffoldKey=GlobalKey();
TextEditingController_emailController=TextEditingController();
TextEditingController_passwordController=TextEditingController();
用户数据用户数据;
@凌驾
void initState(){
SystemChrome.SetEnabledSystemEmioVerlays([]);
userData=userData();
super.initState();
}
未来登录用户(字符串电子邮件、字符串密码、字符串版本)异步{
试一试{
选项=选项(
contentType:contentType.parse('application/json'),
);
最终响应=等待dio.post(url+'/users/login',
数据:{'login':_emailController,'pwd':_passwordController,'version':'2.0'},选项:选项);
打印(url+'/users/login');
if(response.statusCode==200 | | response.statusCode==201){
返回json.decode(response.data);
}else if(response.statusCode==401){
抛出异常(“错误的电子邮件/密码”);
}否则
抛出异常(“身份验证错误”);
}关于错误捕获(异常){
如果(异常==null)||
exception.toString()包含('SocketException')){
抛出异常(“网络错误”);
}else if(exception.type==DioErrorType.RECEIVE\u超时||
exception.type==DioErrorType.CONNECT\u超时){
抛出异常(
“无法连接,请确保您有一个稳定的网络。”);
}否则{
返回null;
}
}
}
@凌驾
小部件构建(构建上下文){
bool_isLoading=false;
字符串版本='2.0';
bool _obsolizeText=true;
返回脚手架(
正文:SingleChildScrollView(
子:列(
儿童:[
容器(
宽度:MediaQuery
.of(上下文)
.尺寸
.宽度,
高度:MediaQuery
.of(上下文)
.尺寸
.高度/2.5,
装饰:盒子装饰(
梯度:线性梯度(
开始:Alignment.topCenter,
结束:对齐。底部中心,
颜色:[颜色。白色,颜色。白色],
),
borderRadius:仅限borderRadius(
左下角:半径。圆形(90),
),
),
子:列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
垫片(),
对齐(
对齐:对齐.center,
子项:Image.asset('assets/logo.png'),
),
垫片(),
对齐(
对齐:对齐。右下角,
孩子:填充(
填充:仅限常量边集(底部:32,右侧:32),
子:文本(
“客户应用程序”,
样式:TextStyle(颜色:Colors.red,字体大小:18),
),
),
),
],
),
),
容器(
颜色:颜色,白色,
高度:MediaQuery
.of(上下文)
.尺寸
.身高/1,
宽度:MediaQuery
.of(上下文)
.尺寸
.宽度,
填充:仅限边缘设置(顶部:20),
子:列(
儿童:[
容器(
宽度:MediaQuery
.of(上下文)
.尺寸
.宽度/1.2,
身高:45,
衬垫:
仅限边集(顶部:2,左侧:16,右侧:16,底部:2),
装饰:盒子装饰(
borderRadius:borderRadius.all(半径.圆形(50)),
颜色:颜色,白色,
boxShadow:[
BoxShadow(颜色:Colors.red,模糊半径:5)
]),
孩子:TextField(
控制器:\u电子邮件控制器,
装饰:输入装饰(
errorText:_isLoading?“值不能为空”:null,
边框:InputBorder.none,
图标:图标(
Icons.email,
颜色:颜色,红色,
),
hintText:“电子邮件”,
),
键盘类型:TextInputType.emailAddress,
),
),
常量大小框(
宽度:42.0,
身高:20.0,
),
容器(
宽度:MediaQuery
.of(上下文)
.尺寸
.宽度/1.2,
身高:45,
衬垫:
仅限边缘组(顶部:2,左侧:16,
 @override
 void initState() {
SystemChrome.setEnabledSystemUIOverlays([]);
userData = UserData(); //What cause the error. 
super.initState();
 }
     Future<UserData> getUserData() async{

  final SharedPreferences prefs = await SharedPreferences.getInstance();
  String email = prefs.getString('Email');
 String session = prefs.getString('session');

  var map = new Map<String, String>();
  map["email"] = email;
  map["sesscode"] = session;

   var response = await http.post(new API().userdata, body: map);
    var convertDataToJson = json.decode(response.body);
  UserData usdata = UserData .fromJson(convertDataToJson); //THis solve your error

  return usdata ;
  }