Flutter Firebase工具集成插件firebase_utilitas的使用

Flutter Firebase工具集成插件firebase_utilitas的使用

在你的pubspec.yaml文件中添加依赖:

dependencies:
  firebase_utilitas: ^latest-version

调用第一类:

final fs = FirebaseUtilitas();

Firestore

添加数据

await fs.addDataCollection("collection_name", {
  "name": "ucup",
  "address": "makassar"
});

获取所有数据(Future)

await fs.getDataCollection("collection_name");

获取所有数据(Stream)

StreamBuilder<QuerySnapshot<Map<String, dynamic>>> (
  stream: fs.getDataStreamCollection("collection_name"),
  builder: (context, snapshot) {
    final data = snapshot.data!.docs;
    return ListView.builder(
      shrinkWrap: true,
      itemCount: data.length,
      itemBuilder: (BuildContext context, int index) {
        return Column(
          children: [
            ListTile(
              title: Text(data[index]["name"]),
            ),
            Divider(),
          ],
        );
      },
    );
  }
);

更新数据

await fs.updateDataAllDoc("collection_name", "id", {
  "name": "shamil",
  "address": "gowa"
});

删除数据

await fs.deleteDoc("collection_name", "id");

Firebase Auth

使用邮箱和密码注册

await fs.registerWithEmailAndPassword("email", "password");

使用邮箱和密码登录

await fs.signInWithEmailAndPassword("email", "password");

重置密码

await fs.resetPassword("email");

更多关于Flutter Firebase工具集成插件firebase_utilitas的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter Firebase工具集成插件firebase_utilitas的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中集成并使用firebase_utilitas插件的一个示例。请注意,firebase_utilitas并不是Firebase官方提供的插件,因此可能是一个社区维护的插件。假设该插件存在并且提供了基本的功能,比如初始化Firebase服务和一些实用工具函数。

首先,确保你的Flutter项目已经设置好了Firebase。如果你还没有设置,请按照Firebase的官方文档进行配置。

步骤 1: 添加依赖

pubspec.yaml文件中添加firebase_utilitas依赖:

dependencies:
  flutter:
    sdk: flutter
  firebase_core: ^1.x.x  # 确保使用兼容的版本
  firebase_auth: ^3.x.x  # 根据需要添加其他Firebase服务
  firebase_utilitas: ^x.x.x  # 假设最新版本是x.x.x

然后运行flutter pub get来安装依赖。

步骤 2: 配置Firebase

确保你的android/app/google-services.jsonios/Runner/GoogleService-Info.plist文件已经配置好,并且你的项目已经应用了相应的Firebase配置。

步骤 3: 初始化Firebase和使用firebase_utilitas

在你的main.dart文件中,你可以这样初始化Firebase并使用firebase_utilitas插件:

import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_utilitas/firebase_utilitas.dart'; // 假设包路径正确

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化Firebase应用
  await Firebase.initializeApp();

  // 使用firebase_utilitas插件(这里假设有一个初始化函数)
  await FirebaseUtilitas.initialize(); // 假设插件提供了这样的方法

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Firebase Utilitas Example'),
        ),
        body: Center(
          child: FirebaseAuthExample(),
        ),
      ),
    );
  }
}

class FirebaseAuthExample extends StatefulWidget {
  @override
  _FirebaseAuthExampleState createState() => _FirebaseAuthExampleState();
}

class _FirebaseAuthExampleState extends State<FirebaseAuthExample> {
  String? userEmail;

  void signInAnonymously() async {
    try {
      UserCredential result = await FirebaseAuth.instance.signInAnonymously();
      User? user = result.user;
      if (user != null) {
        setState(() {
          userEmail = user.email; // 注意:匿名用户没有email
        });
        print('User (${user.uid}) signed in successfully.');
      }
    } catch (e) {
      print(e.toString());
    }
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        Text('User Email: $userEmail'),
        ElevatedButton(
          onPressed: signInAnonymously,
          child: Text('Sign In Anonymously'),
        ),
      ],
    );
  }
}

注意

  1. 插件API: 上面的代码假设firebase_utilitas有一个initialize方法,但实际上你需要查阅该插件的文档来确认具体的API和方法。
  2. 错误处理: 在生产代码中,应该添加更多的错误处理和用户反馈。
  3. Firebase服务: 示例中只使用了Firebase Authentication服务,你可以根据需要添加其他Firebase服务,如Firestore、Storage等。

由于firebase_utilitas并非Firebase官方插件,因此其API和功能可能会有所不同。务必查阅该插件的官方文档或源代码以获取准确的用法。如果firebase_utilitas插件不存在或API不同,请考虑使用Firebase官方提供的插件或查找其他社区维护的插件。

回到顶部