📜  Flutter – 在 Firebase 上读写数据(1)

📅  最后修改于: 2023-12-03 15:30:49.120000             🧑  作者: Mango

Flutter – 在 Firebase 上读写数据

Firebase是Google提供的一套云端开发平台,包含实时数据库、身份认证、存储空间、推送通知等功能,非常适合移动应用的后端开发。Flutter是Google推出的一套跨平台UI框架,可以快速构建高质量的原生应用程序,与Firebase非常搭配,可以简化我们的开发流程,提高开发效率。

本文将介绍如何在Flutter应用程序中连接到Firebase数据库,读写数据。

步骤一:创建Firebase项目

首先我们需要在Firebase中创建一个新项目,并将其与我们的Flutter应用程序相关联。具体步骤如下:

  1. 登录到Firebase控制台:https://console.firebase.google.com/
  2. 点击“添加项目”按钮
  3. 输入项目名称和选择国家/地区
  4. 点击“继续”按钮
  5. 在下一页中,勾选“开启Google分析”,然后点击“创建项目”按钮

创建项目后,请记下您的项目名称和项目ID。我们将在后面的步骤中用到它们。

步骤二:配置Flutter应用程序

要连接到我们的Firebase项目,我们需要在我们的Flutter应用程序中添加Firebase SDK,并提供一些Firebase项目配置信息。

  1. 在Flutter应用程序的pubspec.yaml文件中,添加以下依赖项:
dependencies:
  firebase_core: ^1.5.0
  firebase_database: ^7.1.1
  1. 导入Firebase SDK并初始化。在Flutter应用程序的main.dart文件中,添加下面的代码:
import 'package:firebase_core/firebase_core.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

注意:Firebase.initializeApp()方法是异步的,所以我们需要在App启动之前确保它已经初始化完成。

  1. 在Firebase控制台中获取配置信息。在您的Firebase项目的控制台中,点击“设置”图标,然后选择“项目设置”。在“常规”选项卡中,你可以看到以下配置信息:
{
  "apiKey": "AIzaSyDm...8cUL7ChxA",
  "authDomain": "myapp.firebaseapp.com",
  "projectId": "myapp",
  "storageBucket": "myapp.appspot.com",
  "messagingSenderId": "123456789",
  "appId": "1:123456789:web:abcdefg123456789"
}

请将这些配置信息复制到您的Flutter应用程序中。您可以按如下方式存储它们:

import 'package:firebase_core/firebase_core.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: FirebaseOptions(
      apiKey: "<API_KEY>",
      authDomain: "<AUTH_DOMAIN>",
      projectId: "<PROJECT_ID>",
      storageBucket: "<STORAGE_BUCKET>",
      messagingSenderId: "<MESSAGING_SENDER_ID>",
      appId: "<APP_ID>",
    ),
  );
  runApp(MyApp());
}
步骤三:在Firebase上读写数据

现在,我们已经完成了Flutter应用程序的配置,我们可以开始在Firebase数据库上读写数据了。

写入数据

首先,让我们看看如何在Firebase数据库中写入数据。我们可以使用以下代码在数据库的“users”节点中创建一个新用户:

import 'package:firebase_database/firebase_database.dart';

final databaseReference = FirebaseDatabase.instance.reference();

void createUser(String name, String email) {
  databaseReference.child("users").push().set({
    'name': name,
    'email': email,
  });
}

这将创建一个新记录,其中包含“name”和“email”字段。请注意,我们使用push()方法为新用户生成一个唯一的ID。

读取数据

我们可以像这样从Firebase数据库中读取数据:

import 'package:firebase_database/firebase_database.dart';

final databaseReference = FirebaseDatabase.instance.reference();

void readData() {
  databaseReference.child("users").once().then((DataSnapshot snapshot) {
    print('Data : ${snapshot.value}');
  }
}

这将检索“users”节点下的一次快照,并将其打印到控制台上。

结论

在本文中,我们介绍了如何在Flutter应用程序中连接到Firebase数据库,并读写数据。我们了解了如何使用Firebase SDK来初始化应用程序,并从Firebase数据库中读取和写入数据。享受Firebase和Flutter的华丽体验吧!