クイックスタート
お待たせしました。さあ、最高にクールなFlutterのデータベースを使い始めましょう!
この記事では、簡潔にコードを書いていきます。
1. 依存関係を追加する
Isarを使用する前に、いくつかのパッケージを pubspec.yaml
に追加する必要があります。pubを使用する事で、面倒な作業を簡単に済ませることが出来ます。
dart pub add isar:^3.1.8 isar_flutter_libs:^3.1.8 --hosted-url=https://pub.isar-community.dev
dart pub add dev:isar_generator:^3.1.8 --hosted-url=https://pub.isar-community.dev
2. クラスの注釈(アノテーション)
あなたの使用するコレクションクラスに @collection
でアノテーションを付け、Id
フィールドを設定します。
part 'user.g.dart';
@collection
class User {
Id id = Isar.autoIncrement; // id = nullでも自動インクリメントされます。
String? name;
int? age;
}
idはコレクション内のオブジェクトを一意に識別して、後で再び見つけられるようにします。
3. コード生成ツールの実行
以下のコマンドを実行して、build_runner
を起動します。:
dart run build_runner build
Flutterを使用している場合は、代わりに次のコマンドを使用してください:
flutter pub run build_runner build
4. Isarインスタンスを開く
新規のIsarインスタンスを開き、コレクションのスキーマを渡します。必要に応じて、インスタンス名とディレクトリを指定することができます。
final dir = await getApplicationDocumentsDirectory();
final isar = await Isar.open(
[UserSchema],
directory: dir.path,
);
5. 書き込みと読み込み
Isarインスタンスを開いたら, コレクションを利用することができます.
基本的なCRUD操作は、全て IsarCollection
を介して行う事が出来ます。
final newUser = User()..name = 'Jane Doe'..age = 36;
await isar.writeTxn(() async {
await isar.users.put(newUser); // 挿入と更新
});
final existingUser = await isar.users.get(newUser.id); // 取得
await isar.writeTxn(() async {
await isar.users.delete(existingUser.id!); // 削除
});
その他の資料
視覚的に学ぶ方が好みであれば、Isarを始めるためにこれらの動画をぜひご覧ください: