🔖

WidgetsFlutterBinding.ensureInitialized(); ってなに

2021/09/19に公開

hiveを使う前に、WidgetsFlutterBinding.ensureInitialized() を知る

runApp()前の儀式的なもの

データベースのHiveを使うため、こちらの動画を参考にしている。

https://youtu.be/w8cZKm9s228

すると、初っ端から「WidgetsFlutterBinding.ensureInitialezed()」という未知なるものが登場してきた。

WidgetsFlutterBindingは公式ドキュメント曰く、フレームワークとFlutterエンジンを結びつける接着剤のような役割をするそうだ。

また、ensureInititalized()という静的メソッドは、WidgetsBindingのインスタンスを必要に応じてリターンしてくれるそうだ。runApp()を呼び出す前に初期化する必要がある際に用いるのだという。

runApp()前にこれらを呼び出す必要性についてはこちらの日本語の参考資料で理解してみた。一部のプラグインはrunApp()前に初期化する必要があるようで、今回から扱うデータベースのHiveも、初期化しておく必要があると推測可能だ。

まとめ

HiveをFlutterで使うなら、runApp()の前に、WidgetsFlutterBInding .ensureInitialized();で初期化しておこう。

WidgetsFlutterBinding.ensureInitialized();

Discussion