Flutter Mobile Development · Lektion

Hive und lokale NoSQL-Speicherung

Lernen Sie, Hive – eine schnelle NoSQL-Key-Value-Datenbank für Flutter – zu verwenden, um strukturierte Objekte ohne SQL lokal zu speichern.

Lektion 4 von 413 Schritte

Hive und lokale NoSQL-Speicherung ist eine kostenlose Flutter Mobile Development-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Flutter Mobile Development-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Flutter Mobile Development-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Why Hive?

Hive is a lightweight, pure-Dart key-value database. It is great when SQLite feels heavy and SharedPreferences feels too simple.

  • Very fast reads and writes
  • No native dependencies
  • Stores Dart objects directly

Adding Hive

Add the packages to pubspec.yaml: hive, hive_flutter, and dev dependencies hive_generator and build_runner.

dependencies:
  hive: ^2.2.3
  hive_flutter: ^1.1.0
dev_dependencies:
  hive_generator: ^2.0.1
  build_runner: ^2.4.0

Initializing Hive

Initialize Hive before runApp so the database directory is ready.

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

Boxes

Data lives in a Box — think of it as a typed map persisted to disk. Open one before use.

final box = await Hive.openBox('settings');

Reading & Writing

Use put and get like a map. Values survive app restarts.

box.put('darkMode', true);
final isDark = box.get('darkMode', defaultValue: false);

Storing Custom Objects

To store your own classes, annotate them with @HiveType and each field with @HiveField.

@HiveType(typeId: 0)
class Note extends HiveObject {
  @HiveField(0)
  String title;
  @HiveField(1)
  String body;
  Note(this.title, this.body);
}

Generating Adapters

Run the code generator to create the type adapter, then register it.

// terminal:
// flutter pub run build_runner build

Hive.registerAdapter(NoteAdapter());

Working with a Typed Box

Open a box typed to your class to store and retrieve objects directly.

final notes = await Hive.openBox<Note>('notes');
notes.add(Note('Shopping', 'Milk and eggs'));
final first = notes.getAt(0);

Updating & Deleting

Because a HiveObject remembers its box, you can call save and delete on the object itself.

final note = notes.getAt(0)!;
note.title = 'Updated';
note.save();
note.delete();

Reactive UI with ValueListenable

Hive boxes expose a listenable, so ValueListenableBuilder rebuilds the UI when data changes.

ValueListenableBuilder(
  valueListenable: notes.listenable(),
  builder: (context, Box<Note> box, _) {
    return Text('Notes: ' + box.length.toString());
  },
);

Hive vs SQLite

Choose Hive for simple object/key-value storage and speed. Choose SQLite when you need complex relational queries, joins or aggregations.

Quick Check

What must you do before storing a custom class in a Hive box?

Recap

You learned Hive for local NoSQL storage:

  • initFlutter and boxes
  • put/get key-value access
  • Custom objects with generated adapters
  • Reactive UI via box listenables

Hive gives you fast, structured persistence without SQL.

Kostenlos starten

Lerne Dart mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
22
Lektionen
88

Häufig gestellte Fragen

Ist die Lektion „Hive und lokale NoSQL-Speicherung“ kostenlos?

Ja — der vollständige Text von „Hive und lokale NoSQL-Speicherung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Flutter Mobile Development-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Flutter Mobile Development-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Hive und lokale NoSQL-Speicherung“?

Lernen Sie, Hive – eine schnelle NoSQL-Key-Value-Datenbank für Flutter – zu verwenden, um strukturierte Objekte ohne SQL lokal zu speichern. Du übst Flutter Mobile Development mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Flutter Mobile Development zu starten?

Keine Vorkenntnisse erforderlich. Flutter Mobile Development auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Hive und lokale NoSQL-Speicherung“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Flutter Mobile Development-Lektion Code schreiben und ausführen?

Ja. Jede Flutter Mobile Development-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Shared Preferences für Daten
  2. Integration von SQLite-Datenbanken
  3. Dateisystemoperationen
  4. Hive und lokale NoSQL-Speicherung
← Zurück zu Flutter Mobile Development