gpt4 book ai didi

firebase - firebase 数据库创建的 Flutter 数据类

转载 作者:IT王子 更新时间:2023-10-29 06:37:16 24 4
gpt4 key购买 nike

请问如何在 flutter 中使用 firebase 数据库创建一个数据类,数据会立即加载到应用程序的第一页?

enter image description here

    import 'package:dnow/model/company.dart';
import 'package:firebase_database/firebase_database.dart';

class RepoData {

static final Company bawp = new Company(
name: 'King',
about: 'Selling Food',
backdropPhoto: 'assets/hk.jpg',

shop: <Shop>[
new Shop(
shopName: 'ABC',
thumbnail: 'assets/daofang.png',
tel: "88776655",
address: '23 Daisy street, Sydney'),

new Shop(
shopName: 'KKK',
thumbnail: 'assets/fefew.png',
tel: "88776655",
address: '131 Man street, Sydney'),


],
location: 'Sydney',
logo: 'assets/logo.png',
president: 'Grand Production House');
}


[1]: /image/DV3X0.png

最佳答案

假设这是你的类简化

Class Company {
String name;
String about;
String backdropPhoto;
String location;
String logo;
String president;
}

然后在您的应用程序的第一页中,您正在收听数据库并收到一个公司,类似这样

database.reference().child('companies').once().then((DataSnapshot snapshot) {
//todo: parse snapshot
});

这里您从数据库接收一个 DataSnapshot 对象。您需要做的是将 DataSnapshot 解析为您的 Company 类。为此,您需要在 Company 类中创建自定义构造函数,如下所示

import 'package:firebase_database/firebase_database.dart';

Class Company {
String name;
String about;
String backdropPhoto;
String location;
String logo;
String president;

Company.fromDb(DataSnapshot data) {
name = data['name'];
about = data['about'];
backdropPhoto = data['backdropPhoto'];
location = data['location'];
logo = data['logo'];
president = data['president'];
}
}

最后,当您从 firebase 接收到文档时,您将调用此构造函数

database.reference().child('companies').once().then((DataSnapshot snapshot) {
Company company = Company.fromDb(snapshot);
});

我只使用过 Firestore,但我认为它可能是这样工作的。希望对你有帮助

关于firebase - firebase 数据库创建的 Flutter 数据类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52311666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com