我有一个网格视图来显示图像,但是图像存储在我的本地“assets/images/xxxx.png”中。我只将图像名称(资产/图像/xxxx.png)存储到 Firebase 中,但不确定我的做法是对还是错。
不得不提到他们在“pubspec.yaml”文件和图像名称中没有任何错误,因为我已经手动显示图像,但是我想根据某些条件更改图片,因此将图像保存到 Firebase并在网格视图中检索它。
来自调试控制台的输出
从检索到的 Firebase 的输出中获得了如下所示的图像名称,但它没有显示图像,如果我想将图像而不是图像的名称保存到 Firebase 中从 Firebase 检索图像?或者有什么方法可以保存名称,一旦调用图像的名称,它就会显示图像,因为它已经在“assets/images/xxx.png”中声明,所以我不知道如何让图像显示.将图像名称或图像本身存储到 Firebase 并检索它
"imageUrl":"assets/images/Materials-03.png"
这是我检索所有数据的方式,但是已经打印了所有数据并且出现了这个错误,所以这是否是图像的问题也不确定
显示
@override
Widget build(BuildContext context) {
final appProfileData = Provider.of<UserProfileLogic>(context);
return GridView.builder(
padding: const EdgeInsets.all(10.0),
itemCount: appProfileData.appitems.length,
itemBuilder: (ctx, i) => ChangeNotifierProvider.value(
value: appProfileData.appitems[i],
child: AppGetFromLogic(),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
//define how gridview been structure. E.g: Column
crossAxisCount: 2, //how many column
childAspectRatio: 3 / 2,
crossAxisSpacing: 10, //spacing between column
mainAxisSpacing: 10, //spacing of the row
),
);
}
“AppGetFromLogic”
@override
Widget build(BuildContext context) {
final appCalling = Provider.of<AppProfile>(context, listen: false);
return Card(
child: Hero(
tag: appID,
child: InkWell(
onTap: () {},
child: GridTile(
footer: GridTileBar(
backgroundColor: Colors.black54,
title: Text(
appCalling.title,
textAlign: TextAlign.center,
),
),
child: Image.asset(
appCalling.appImage,
fit: BoxFit.cover,
),
),
),
),
);