2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FluttrerにおけるHiveの使い方

Posted at

Hiveって?

ローカルの保存領域においてデータベースを使用するためのライブラリ(パッケージ)。

パッケージのインストール

FlutterにおいてHiveを使用するには下記のパッケージを使用します。

ターミナルにて下記のコマンドを入力

flutter pub add hive
flutter pub get

pubspec.yamlの中に下記が追加される。

hive: ^2.2.1

下準備

まず初めにmain関数内にてhiveの初期化を行う。

void main() async {
  await Hive.initFlutter();
  runApp(const MyApp());
}

今回はユーザーの個人情報を保存する例で説明する。
まず初めにユーザーの情報を取り扱うモデルを作成する。

まずはユーザー情報を取り扱うためのモデルファイル
user_info.dart

import 'package:hive/hive.dart';

//Entity生成用
part 'user_info.g.dart';

//モデルごとの識別子の設定
@HiveType(typeId: 1)
class UserInfo {
  const UserInfo({
    this.name,
    this.birthday,
  });
//typeId:1に保存されるデータのプロパティ番号0
  @HiveField(0)
  final String name;
//typeId:1に保存されるデータのプロパティ番号1
  @HiveField(1)
  final DateTime birthday;
}
  • Adapterを作成する
    以下のコマンドでAdapterを自動生成してもらう。
$ flutter pub run build_runner build

次に,モデルオブジェクトをバイナリ形式に変換して取り扱うためのTypeAdapterを使用するためにmain.dart内で下記の関数を呼ぶ

Hive.registerAdapter(UserInfoAdapter());

使用方法

  • 保存と読み込み
final userInfo = UserInfo('OREO', DateTime(1998, 11, 10, 12, 10);)
final box = await Hive.openBox<UserInfo>('userInfo');

//Hiveへ保存
box.add(userInfo);

//読み込み
final userInfos = box.values.toList();

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?