Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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
Flutter flatter我在firebase上市时收到的错误_Flutter_Dart_Arp_Nt - Fatal编程技术网

Flutter flatter我在firebase上市时收到的错误

Flutter flatter我在firebase上市时收到的错误,flutter,dart,arp,nt,Flutter,Dart,Arp,Nt,我已经调查一个问题好几天了。 这就是我使用Firebase数据库的方式。 我的目标是列出firebase数据库的内容。 但每次我尝试,我都会出错 -urunler -elyapimi --LB445dadwSDA5 ad: "deneme" fiyat: "110" imageurl: "https://firebasestorage.googleapis.com/v0/b/ben..." infiyat: "85.55"

我已经调查一个问题好几天了。 这就是我使用Firebase数据库的方式。 我的目标是列出firebase数据库的内容。 但每次我尝试,我都会出错

-urunler
  -elyapimi
    --LB445dadwSDA5
       ad: "deneme"
       fiyat: "110"
       imageurl: "https://firebasestorage.googleapis.com/v0/b/ben..."
       infiyat: "85.55"
    --LbVuRaL2eslQ4deD-C7
       ad: "deneme"
       fiyat: "110"
       imageurl: "https://firebasestorage.googleapis.com/v0/b/ben..."
       infiyat: "85.55"
我想列出数据库的内容。 但我得到了这个错误

E/flutter ( 9624): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled 
Exception: type 'double' is not a subtype of type 'String'
E/OpenGLRenderer( 9624): SFEffectCache:clear(), mSize = 0
W/ManagedEGLContext( 9624): doTerminate failed: EGL count is 2 but 
managed count is 1
这些是我使用的代码

import 'package:denemeflutter/database.dart';
import 'package:firebase_database/firebase_database.dart';
import 'package:flutter/material.dart';

class YenilenCicek extends StatefulWidget{
 @override
State<StatefulWidget> createState() => YenilenCicekState();

 }

class YenilenCicekState extends State  with TickerProviderStateMixin{
static const EndColor = Color.fromARGB(255, 150, 202, 230);
static const StartColor = Color.fromARGB(255, 64, 222, 194);
static const softmavi = Color.fromARGB(255, 142, 226, 210);
List<MyDatabase> list = [];

  @override
 void initState() {
 super.initState();
 DatabaseReference postRef = 
FirebaseDatabase.instance.reference().child("urunler").child("elyapimi");

  postRef.once().then((DataSnapshot snap)
  {
   var keys = snap.value.keys;
   var data = snap.value;

    list.clear();

     for(var key in keys)
     {

       MyDatabase myDatabase = new MyDatabase
         (

         data[key]["ad"],
         data[key]["imageurl"],
         data[key]["infiyat"],
         data[key]["fiyat"]);
     list.add(myDatabase);
   }

   setState(() {
     print("Lenght : $list.lenght");
   });
  });

   }

  @override
 Widget build(BuildContext context) {
  return Scaffold(
  body: Stack(
    children: <Widget>[
      Container(
        height: 100,
        width: double.maxFinite,
        color: Colors.white,
      ),
      Positioned(
        child:Container(
          padding: EdgeInsets.only(left: 170, top: 30),
          height: 100.0,
          decoration: BoxDecoration(
            gradient: new LinearGradient(colors: [StartColor,EndColor]),
            borderRadius: BorderRadius.only(bottomLeft: 
    Radius.elliptical(300, 10) , bottomRight: Radius.elliptical(300, 10) 
  ) ,
          ),
          child: null,
        ),
      ),

      Positioned(
        child: Container(
          padding: EdgeInsets.only(top: 35, left: 0),
          child: FlatButton(
              padding: EdgeInsets.only(left: 0,right: 25),
              onPressed: (){Navigator.pop(context);},
              child: Icon(Icons.keyboard_arrow_left,color: 
      Colors.white,size: 50,)
          ),
        ),
      ),
      Positioned(
          child: Container(
            alignment: Alignment.center,
            margin: EdgeInsets.only(bottom: 525),
            child: Text("YENİLEN ÇİÇEKLER", style: TextStyle(color: 
     Colors.white, fontSize: 19),),
          )
      ),
      Container(
        margin: EdgeInsets.only(top: 130),
        child: list.length == 0 ?  new Text("Bu Kategoride\nÜrün 
      Bulunmamaktadır.", textAlign: TextAlign.center,) : new 
    ListView.builder(

          itemCount: list.length,
          itemBuilder: (_,index){
            return ListUI(list[index].title, list[index].imageurl, 
           list[index].promoprice, list[index].price);
          },

        ),
      )
    ],
  ),
 );
}

 Widget ListUI(String ad,String imageurl,String infiyat,String fiyat,)
{
 return new Card(
  elevation: 10.0,
  margin: EdgeInsets.all(15.0),
  child: new Container(
    padding: new EdgeInsets.all(14.0),
    child: new Row(
      mainAxisAlignment: MainAxisAlignment.spaceBetween,
      children: <Widget>[
        Container(
          child: Image.network("$imageurl"),
        ),
        Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
          Text("$ad", style: TextStyle(color: Color.fromARGB(255, 64, 
       222, 194), fontSize: 18, ),textAlign: TextAlign.center,),
            Row(
              mainAxisAlignment: MainAxisAlignment.spaceBetween,
              children: <Widget>[
                Text("$infiyat", style: TextStyle(color: 
       Color.fromARGB(255, 64, 222, 194), fontSize: 18),),
                Text("$fiyat", style: TextStyle(color: 
        Color.fromARGB(255, 64, 222, 194), fontSize: 18),),
              ],
            )
          ],
        ),
      ],
    ),
   ),
  );
  }
 }
import'包:denemebflight/database.dart';
导入“package:firebase_database/firebase_database.dart”;
进口“包装:颤振/材料.省道”;
类YenilenCicek扩展StatefulWidget{
@凌驾
State createState()=>YenilenCicekState();
}
类YenilenCicekState使用TickerProviderStateMixin扩展状态{
静态常量EndColor=Color.fromARGB(255、150、202、230);
静态常量StartColor=Color.fromARGB(255,64,222,194);
静态常量softmavi=Color.fromARGB(255、142、226、210);
列表=[];
@凌驾
void initState(){
super.initState();
数据库引用postRef=
FirebaseDatabase.instance.reference().child(“urunler”).child(“elyapimi”);
postRef.one().then((DataSnapshot快照)
{
var keys=snap.value.keys;
var数据=snap.value;
list.clear();
for(变量键入键)
{
MyDatabase MyDatabase=新建MyDatabase
(
数据[键][“ad”],
数据[键][“图像URL”],
数据[键][“infiyat”],
数据[键][“fiyat”]);
添加(myDatabase);
}
设置状态(){
打印(“长度:$list.Lenght”);
});
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
主体:堆栈(
儿童:[
容器(
身高:100,
宽度:double.maxFinite,
颜色:颜色,白色,
),
定位(
子:容器(
填充:仅限边缘设置(左侧:170,顶部:30),
高度:100.0,
装饰:盒子装饰(
渐变:新的线性渐变(颜色:[起始颜色,结束颜色]),
borderRadius:仅限borderRadius(左下角:
半径.椭圆形(300,10),右下角:半径.椭圆形(300,10)
) ,
),
child:null,
),
),
定位(
子:容器(
填充:仅限边设置(顶部:35,左侧:0),
孩子:扁平按钮(
填充:仅限边设置(左:0,右:25),
onPressed:(){Navigator.pop(context);},
子:图标(图标。键盘\箭头\左侧,颜色:
颜色。白色,尺寸:50)
),
),
),
定位(
子:容器(
对齐:对齐.center,
页边距:仅限边集(底部:525),
子项:文本(“YENİLENİİİİİİİİİİİİİİ
颜色:白色,字体大小:19),),
)
),
容器(
页边距:仅限边缘集(顶部:130),
child:list.length==0?新文本(“Bu Kategoride\nÜrün
Bulumbaktadır.“,textAlign:textAlign.center,):新
ListView.builder(
itemCount:list.length,
itemBuilder:(\ux,索引){
返回ListUI(列表[索引])。标题,列表[索引]。图像URL,
列表[索引]。促销价格,列表[索引]。价格);
},
),
)
],
),
);
}
小部件列表UI(字符串ad、字符串imageurl、字符串infiyat、字符串fiyat)
{
归还新卡(
标高:10.0,
边距:所有边缘集(15.0),
子容器:新容器(
填充:新的边缘设置。全部(14.0),
孩子:新的一排(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
容器(
子项:Image.network(“$imageurl”),
),
纵队(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
文本($ad),样式:TextStyle(颜色:color.fromARGB(255,64,
222194),fontSize:18,),textAlign:textAlign.center,),
划船(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
文本($infiyat),样式:TextStyle(颜色:
颜色。来自argb(255,64,222,194),字体大小:18),
文本($fiyat),样式:TextStyle(颜色:
颜色。来自argb(255,64,222,194),字体大小:18),
],
)
],
),
],
),
),
);
}
}

我提前感谢能够提供帮助的朋友。

在MyDatabase类中,您使用infiyat作为类型字符串,但它将作为双精度输入,即“85.55”。更改数据库或类中的类型。

在MyDatabase类中,您有infiyat作为类型字符串,但它将作为双精度输入,即“85.55”。更改数据库或类中的类型