MBP(はてな)

MacBook Pro,iPhone Xs,React

FlutterでFirebaseを使用して、データベースに対してCRUDを実行

SimulatorでCupertinoFirebaseのScreenを開いた時に、Firebase Realtime Databaseにデータを追加できた。


$ flutter pub add firebase_core
$ flutter pub get
$ flutter pub add firebase_database
$ flutter pub get

$ cd ios
$ arch -x86_64 pod install でエラーになるので、
platform :ios, '10.6'に変更
platform :ios, '9.0'では、パッケージの cloud_firestore のバージョンに対して、platformのiOSのバージョンが低いため
pod install するとCocoaPods could not find compatible versions for pod "cloud_firestore" のエラー - Qiita


main.dartに追加

import 'package:firebase_core/firebase_core.dart';

void main() に2行追加

void main() {
  WidgetsFlutterBinding.ensureInitialized();  // 追加
  Firebase.initializeApp();  // 追加
  runApp(const MyApp());
}


CupertinoFirebase.dartに追加

import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_database/firebase_database.dart';

class _State extends State { に追加

DatabaseReference ref = FirebaseDatabase.instance.reference();

Widget build(BuildContext context) { に追加

ref.child("Name2").set("Hello3");

Firebase Realtime Databaseに、名前:Name2、値:Hello3 が追加される
Name2のデータが存在する時は、値が更新される。

【Flutter】iOSアプリにFirebaseを導入する方法 | Android Studioによる環境構築



SimulatorでCupertinoFirebaseのScreenを開いた時に、Firebase Firestone Databaseにデータを追加できた。

Firestore Databaseにデータを追加するには、

Widget build(BuildContext context) { に追加

    FirebaseFirestore.instance
                    .collection('users') // コレクションID
                    .doc('id_abc') // ドキュメントID
                    .set({'name': '鈴木', 'age': 40}); // データ

$ flutter pub add firebase_firestore
$ flutter pub get
$ cd ios
$ arch -x86_64 pod install

Firebase Firestone Databaseに、コレクションID:users、ドキュメントID:id_abc、データ name:鈴木、age:40 が追加される
コレクションID、ドキュメントIDが同じデータが存在する時は、データが更新される。

Cloud Firestoreを使ってみる | Flutterで始めるアプリ開発


SimulatorでCupertinoFirebaseのScreenを開いてボタンを押した時に、Firebase Authenticationにユーザーを追加できた。

CupertinoPageScaffold(のchild:に追加

            CupertinoButton(
              //color: CupertinoColors.activeBlue,
              //borderRadius: new BorderRadius.circular(30.0),
              onPressed: () async {
                    final UserCredential result =
                        await auth.createUserWithEmailAndPassword(
                      email: "a@a.co.jp",  // メールアドレスのフォーマットでないとエラー
                      password: "bbbbbb",  // 6文字以上でないとエラー
                    );
              },
              child: Text('Cupertino Firebase', style: _buildTextStyle()),
            ),

$ flutter pub add firebase_auth
$ flutter pub get
$ cd ios
$ arch -x86_64 pod install

Authentication概要 | Flutterで始めるアプリ開発