質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

Q&A

1回答

451閲覧

FirebaseのFirestoreの値をUpdateとDeletしたい

lulu_sekki

総合スコア2

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

0グッド

0クリップ

投稿2022/05/07 07:14

編集2022/05/07 08:27

初めまして
flutterの勉強のために下記を行おうとしたらスクショのようなエラーが発生しました。
どなたか教えていただけないでしょうか。

やりたいこと

  • FirebaseのFirestoreの値を更新(update)する
  • FirebaseのFirestoreの値を削除する

解決したいエラー

ボタンをタップするとエラーが出てしまいます。

======== Exception caught by widgets library ======================================================= The following _CastError was thrown building Builder(dirty): Null check operator used on a null value The relevant error-causing widget was: MaterialApp MaterialApp:file:///Users/lukasekine/StudioProjects/flutter_tutorial_3/lib/presentation/main/main.dart:16:12 When the exception was thrown, this was the stack: #0 BookListPage.build.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:flutter_tutorial_3/presentation/book_list/book_list_page.dart:81:31) #1 MaterialPageRoute.buildContent (package:flutter/src/material/page.dart:53:55) #2 MaterialRouteTransitionMixin.buildPage (package:flutter/src/material/page.dart:106:27) #3 _ModalScopeState.build.<anonymous closure>.<anonymous closure> (package:flutter/src/widgets/routes.dart:872:55) #4 Builder.build (package:flutter/src/widgets/basic.dart:7398:48) #5 StatelessElement.build (package:flutter/src/widgets/framework.dart:4827:28) #6 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4754:15) #7 Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5) #8 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4735:5) #9 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4729:5) ... Normal element mounting (170 frames) #179 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3790:14) #180 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6422:36) #181 Element.updateChild (package:flutter/src/widgets/framework.dart:3540:18) #182 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5845:32) #183 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6445:17) #184 Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15) #185 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16) #186 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4928:11) #187 Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5) #188 StatefulElement.update (package:flutter/src/widgets/framework.dart:4960:5) #189 Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15) #190 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16) #191 Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5) #192 ProxyElement.update (package:flutter/src/widgets/framework.dart:5108:5) #193 Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15) #194 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16) #195 Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5) #196 ProxyElement.update (package:flutter/src/widgets/framework.dart:5108:5) #197 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:111:11) #198 Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15) #199 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6291:14) #200 Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15) #201 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16) #202 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4928:11) #203 Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5) #204 StatefulElement.update (package:flutter/src/widgets/framework.dart:4960:5) #205 Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15) #206 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6291:14) #207 Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15) #208 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6291:14) #209 Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15) #210 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16) #211 Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5) #212 ProxyElement.update (package:flutter/src/widgets/framework.dart:5108:5) #213 Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15) #214 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16) #215 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4928:11) #216 Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5) #217 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2659:19) #218 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:882:21) #219 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:363:5) #220 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15) #221 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1081:9) #222 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:995:5) #226 _invoke (dart:ui/hooks.dart:151:10) #227 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:308:5) #228 _drawFrame (dart:ui/hooks.dart:115:31) (elided 3 frames from dart:async)

参考にしたもの(ほぼ丸パクしました)

私のレベルではどのコードを共有したら適切な解決方法をいただけるかわからないため、私の共有アイテムにフォルダをzipファイルでアップしてあります。
ご回答よろしくお願い致します。

↓↓コードが格納されているフォルダ↓↓
https://drive.google.com/file/d/1oERMM4xBv-G-vBkoP2krkVsZskhteG4y/view?usp=sharing

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/05/07 14:22 編集

その youtube のリンクは限定公開になっているようですが、このような誰でも見れるところに置いても大丈夫そうですか?
guest

回答1

0

問題への回答

これは Firebase の問題ではなく、null な変数に対して non-nullable な型に変換した結果のエラーです。

どういうことかというと

dart

1int? hoge = null; 2print(hoge!); // こんな感じで null な値を持つ変数に対して ! をつけると起きます。

dart

1null! // こんな感じで null に直接つけたりしてもなりますね

って感じです。詳しくは nullsafety で検索してみてください。

根本的な解決策

参考の youtube チャンネルを見た感じ、flutter バージョン1を使っているようです。
flutter は バージョン2へアップデートされたとき、大幅な変更がありました。なのでその動画を参考にするのは難しいと思います。

さて、いきなり nullsafety がどうのと言われても難しいかもしれないですし、参考にしたコードが古く無理やり対応したところも多そうなので、おそらくいろいろな場所で問題が起こっていることでしょう。局所的な対応で解決するのは難しそうです。

ここで、二つの解決策があるでしょう。

  • flutter のバージョンを v1.x.x にする(これなら参考動画を丸パクリでいけるでしょう)
  • flutter v2.x.x(2021/4 以降)の参考資料を見つける

投稿2022/05/07 14:19

編集2022/05/07 14:23
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問