Flutter Hiveの使い方のメモ
Flutterで日記アプリを作りHiveを使ったので使い方をメモする。
本題 日記アプリを作ったのでhiveの使い方をメモします。記事の内容について私は責任を取りません。
作ったアプリ
を参考にしました。
まず
yaml pubspec.yaml
hive: ^2.0.6
hive_flutter: ^1.1.0
pubspecに追加。
hiveの初期化
dart main.dart
Future<void> main() async {
await Hive.initFlutter();
Box? box = await Hive.openBox('box');
}
使い方
box.put("key",content);
box.putAt(index,content);
box.delete("key");
box.deleteAt(index);
box.get(index,default);
box.getAt(index);
box.put("key",content);
box.putAt(index,content);
atがあればbox内のindex列目のcontentを取得、削除などする。
atがなければbox内のkey列のcontentを取得、削除などする。
box.key(index)
//index列目のkeyを取得
box.containsKey("key");
//keyが含まれているか
csvに出力する
import 'dart:async';
import 'dart:io';
import 'package:hive/hive.dart';
class exportcsv {
final now = DateTime.now();
Future<void> export(Box box,String keyLineName,String contentLineName) async {
String result = box.toMap().toString();
result = result.replaceAll("{", "");
result = result.replaceAll(",", "\n");
result = result.replaceAll(":", ",");
result = result.replaceAll("}", "");
result = "$keyLineName\n" + $contentLineName;
File file =
File.fromUri(Uri.file("file path"));
file.writeAsString(result, flush: true);
}
}
型
型はclassをインスタンス化しcontentにそれを入れる。
型の作り方
yaml pubspec.yaml
dev_dependencies:
hive_generator: ^1.1.1
build_runner: ^2.1.5
dart kata.dart
import 'package:hive/hive.dart';
part 'Person.g.dart';
//class名と一致させる
@HiveType(typeId: 1)
class Person {
@HiveField(0)
String name;
@HiveField(1)
int age;
User({required this.name, required this.age});
}
flutter packages pub run build_runner build
をする。
import "Person.g.dart";
Future<void> main() async {
await Hive.initFlutter();
Hive.registerAdapter(PersonAdapter());
Box? box = await Hive.openBox('box');
}
あとはPersonをインスタンス化しcontentに入れるだけ
私はKeyを日付に、日記の内容をcontentに入れてアプリを製作しました。
最後まで読んでいただきありがとうございます。アプリダウンロードしてみてください!
Author And Source
この問題について(Flutter Hiveの使い方のメモ), 我々は、より多くの情報をここで見つけました https://qiita.com/NuohKA/items/2c633e97287ddb768e33著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .