Introduzione ad Hive, un database per Dart e Flutter
Hive è un database, di tipo key:value, per Dart e Flutter.
Non fermatevi agli esempi che trovate sulla pagina pub.dev, ma andate alla documentazione per iniziare....
Io l'ho testato su un programmino in Dart, e non in una app in Flutter; anche se comunque le cose sono abbastanza simili.
Per installarlo:
dart pub add hive // DART
flutter pub add hive // FLUTTER
Io ho usato direttamente un'adapter personalizzato, ed ho indicato il mio desktop come directory per salvare il db.
Qui sotto un esempio:
import 'package:hive/hive.dart';
void main() async {
Hive.init("/home/fermat/Scrivania");
Hive.registerAdapter(PersonAdapter());
var p1 = Persona()
..nome = 'NOME'
..eta = 18;
var p2 = Persona()
..nome = 'NOME 2'
..eta = 30;
List<Persona> list = [p1, p2];
var box = await Hive.openBox('test');
box.addAll(list);
box.values.forEach((el) {
Persona p = el;
print(p.nome);
});
}
@HiveType(typeId: 0)
class Persona extends HiveObject {
@HiveField(0)
late String nome;
@HiveField(1)
late int eta;
}
class PersonAdapter extends TypeAdapter<Persona> {
@override
final typeId = 0;
@override
Persona read(BinaryReader reader) {
return Persona()..nome = reader.read();
}
@override
void write(BinaryWriter writer, Persona obj) {
writer.write(obj.nome);
}
}
Ci stanno poi altri oggetti/funzioni interessanti, che trovate sempre nella doc.
Enjoy!
dart flutter hive database
Commentami!