Android 颤振:使用文本字段和凸起按钮发送HTTP POST请求时出错

Android 颤振:使用文本字段和凸起按钮发送HTTP POST请求时出错,android,http,flutter,dart,qr-code,Android,Http,Flutter,Dart,Qr Code,我有一个无法解决的颤振问题 情景: 1.实现一个QR阅读器应用程序。 2.在应用程序中,读取二维码 3.当您阅读二维码时,您将我重定向到用户的详细信息页面 问题: 我想编辑那个人的数据,这就是为什么要放置一个TexFormField,有效字段,但当我调用 FUTURE函数通过post发送参数,将主体转换为JSON,以便我的服务器检测到它,按钮不做任何操作 这是我的密码 @override Widget build(BuildContext context) { return Scaffol

我有一个无法解决的颤振问题

情景: 1.实现一个QR阅读器应用程序。 2.在应用程序中,读取二维码 3.当您阅读二维码时,您将我重定向到用户的详细信息页面

问题: 我想编辑那个人的数据,这就是为什么要放置一个TexFormField,有效字段,但当我调用 FUTURE函数通过post发送参数,将主体转换为JSON,以便我的服务器检测到它,按钮不做任何操作

这是我的密码

@override
 Widget build(BuildContext context) {
  return Scaffold(
    body: Center(
      child: Container(
       child : Text("Escanea el codigo QR ", style: TextStyle(fontSize:  25.0),)
     ),
  ),
  floatingActionButton: FloatingActionButton(

       onPressed:  obtenerValorQR,
        child: Icon(Icons.settings_overscan,),
        backgroundColor:Color(0xFF56AB2F)

      ),
      floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
    );
  }
---------------------------逻辑--------------------

Future obtenerValorQR()
         async{
                    _scantemp= await FlutterBarcodeScanner.scanBarcode("#004297", "salir", true);
                    setState(() {
                      value=_scantemp;

                });
                if (value == null) {
                  Navigator.pushNamed(context, QrPageRoute);

                } else {
                  Navigator.pushNamed(context, HomePageRoute, arguments: value);
                }   
            }
2.App读取二维码 Widget\u InfoPerfilusario(构建上下文,索引){

返回容器(
身高:120.0,
孩子:卡片(
孩子:填充(
填充:常数边集全部(15.0),
孩子:ListTile(
领先:CircleAvatar(背景图像:
NetworkImage(widget.usuarios[index].urlFoto),半径:30.0,),
标题:文本(“Nombre:${widget.usuarios[index.Nombre}”),
副标题:专栏(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
文本(“Apellidos:${widget.usuarios[index].Apellidos}”),
文本(“Zona:${widget.usuarios[index.territorio}”)
],
),   
),
)
),
);
}

  • QR详细信息
  • 4.我想在DETAILPAGE中添加其他参数,例如“PESO”,但该按钮没有编译代码

  • 代码,其中我发送我实现的“比索”参数,但不执行我要查找的操作

    widget\u botonesAcciones(BuildContext上下文,int索引){ 返回行( mainAxisAlignment:mainAxisAlignment.spaceAround, 儿童:[ RaisedButton(子项:文本(“保存”),颜色:Colors.green, 已按下:(){ 最终形式=formKey.currentState; if(form.validate()){ _sendData(上下文、索引); pushNamed(上下文,QrPageRoute); } } ), ], ); }

  • 如果字段经过验证,我就实现这个函数,我只想发送数据,不想返回响应体,只想将数据发送到我的数据库 Future\u sendData(BuildContext上下文,int索引)异步{ final url=Uri.https(_url,'/searchdata.php'); 等待http.post(url, 正文:json.encode({ “id”:“${widget.usuarios[index].idUsuarioMobile}”, “比索”:比索 }), ); }
    出什么事了?
    我认为我的错误在于sendData()函数,解决方法很简单:

    body: json.encode
    
    我的问题的答案是寻找我econtre,简单到返回一个void方法并将数据发送到服务器。你应该用

    这会让你的生活更轻松

    void _sendData(BuildContext context ,  int index ) {
    
           var url = Uri.https( _url,'/updatePuntos.php');
           http.post(url,
    
            body: json.encode({
              "id"   : "${widget.usuarios[index].idUsuarioMobile}",
              "peso" : peso
            }),
          );
    
    body: json.encode