初めてのFlutterでHive導入

はじめに

FundastA Inc.の鈴木です。
現在、一部の業務の中でFlutterを活用したアプリの開発を行っています。
その中でFlutterのDBを作成する際にHiveを使用して、開発を行ったので備忘録として、記録しておきます。

Hiveとは

まずHiveとは何なのか
  1. NoSQL
  2. SQLiteよりも高速に読み取り、書き込みができる。
  3. SharedPreferencesよりも書き込みが優れている。
  4. モバイルやデスクトップ、ブラウザなど様々なプラットフォームに対応しているため、複数の動作環境に対応することができる。(クロスプラットフォーム)
この特徴は、DartのHiveの説明にも書いてありますので、ご確認いただければと思います。
リンク:https://pub.dev/packages/hive

Hiveを選んだ理由

今回Hiveを選んだ理由は、2つあります。
1つ目は、データの読み書きが高速であり、ドキュメントがわかりやすいから
2つ目は、SQLiteに比べてコードを書く量が少なくて済むかも。。。
以上の2つです。
コード量が少なく済むならその方が良いと思ったので、採用しました。

Hive導入・設定方法

1.パッケージの依存関係

以上のパッケージをpubspec.yamlに追加します。

2.初期化コード

void main() {}の中に初期化コードを書きます。

3.モデルとアダプターの作成

database.dartファイルを作成し、上記のコードを設定します。

@HiveTypeの箇所は皆さんがDatabaseに設定したいデータを入れてください。

4.アダプタークラスの作成

ターミナルで上記のコマンドを打つことでdatabase.g.dartファイルがdatabase.dartと同じディレクトリの場所に作成されます。
※注意点
このファイルは勝手に編集し、使用することができません。
database.dartを編集したら随時ターミナルでコマンドを打ち、上記ファイルを作成してください。

Hiveの使用方法

1.アダプターをHiveに登録

2で記載したvoid main()にカスタムアダプタの追加をしてください。
ここまででデータベースの準備は完了です。
※var persons = await Hive.openBox(‘record’);は、データボックスを開けなければ使用できないので、openメソッドを使用して開きます。

2.データベースの追加、削除

今回はlistの中にDBの中身を挿入しました。理由はlistにしておくと扱いやすいからです。
追加や削除の使用方法としては、動作させたい変数にget、deleteなどのメソッドを使用すれば、簡単に動作します。

おわりに

今回、初めてFlutterを触れ、Hiveを使用しました。
Hiveはモデルに書くコード量がとても少なく、スッキリした形で作成できると感じました。また追加や削除も簡単にできるため、とても扱いやすいと感じました。
今後さらにFlutterを触り、知識を身に着けていければと考えています。

参考文献

・Hive公式ドキュメント:https://docs.hivedb.dev/#/
・Qiita:Flutterでお手軽にNoSQLでデータ保存:https://qiita.com/kasa_le/items/f39d759741c736f1d600

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA