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