Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.0.1

simple_database

Ein einfacher, leichter Wrapper für das SharedPreferences-Flutter-Paket.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
39
Likes
6
Pub-Punkte
140

Paket installieren

flutter pub add simple_database

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein leichtgewichtiger, einfach zu verwendender Wrapper um Flutter's SharedPreferences, der die dauerhafte Datenspeicherung in Flutter-Anwendungen vereinfacht. Er abstrahiert gängige Operationen wie Speichern, Abrufen und Löschen von Schlüssel-Wert-Paaren mit minimalem Boilerplate. Ideal für Anwendungen kleiner Skalierung, die nur grundlegendes lokales Speichern benötigen, ohne die Komplexität vollständiger Datenbanken. Das Paket ist plattformübergreifend und unterstützt Android, iOS, Web, macOS, Windows und Linux, was es vielseitig für verschiedene Bereitstellungsszenarien macht.

Anwendungsfälle

  • Speichern von Benutzereinstellungen
  • App-Zustand zwischen Sitzungen speichern
  • Kleine Datenmengen zwischenspeichern
  • Einfache Einstellungen verwalten
  • Anmelde-Token dauerhaft speichern
  • Verfolgung von Benutzeraktivitäten

Hauptmerkmale

  • Minimale API-Oberfläche
  • Automatische Typserialisierung
  • Plattformübergreifende Kompatibilität
  • Einfache Einrichtung
  • Leichter Fußabdruck
  • Fehlerbehandlung

Geeignet für

  • Anfänger-Flutter-Entwickler
  • Kleine bis mittlere Apps
  • Prototypen und MVPs
  • Apps mit grundlegenden Persistenzanforderungen
  • Projekte, die komplexe Datenbanken-Einrichtungen vermeiden

Hinweise

  • Nicht geeignet für große Datensätze
  • Keine Unterstützung für Abfragen oder Indizierung
  • Beschränkt auf Schlüssel-Wert-Speicherung
  • Daten sind standardmäßig nicht verschlüsselt
  • Die Leistung verschlechtert sich bei hohen Schreibfrequenzen
  • Am besten geeignet für nicht kritische, kleine Datenmengen

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Simple Database

CI codecov

A simple lightweight wrapper for the SharedPreferences Flutter package. Simple Database provides an abstraction layer for storing objects instead of key, value pairs. This makes it very easy to get a quick local storage solution up and running.

GitHub

Please feel free to contribute

Usage

Please add simple_database as a dependency in your pubspec.yaml file

No Setup Primative Storage

You can easily setup a database of primitive types just by assigning it a name, Simple Database will init the DB if it has not been created yet on the phone for you.

void main() async {
    SimpleDatabase names = SimpleDatabase(name: 'names');

    await names.add('Bob');
    await names.add('Doug');

    for (var name in await names.getAllType<String>()) {
      print(name);
    }
}

Mixed Types

You can use a single database that stores multiple primitive types and then specify what type you want from the database.

void main() async {
    SimpleDatabase names = SimpleDatabase(name: 'names');

    await names.add('Bob');
    await names.add(150)
    await names.add('Doug');
  
    //Print out all strings in the db
    for (var name in await names.getAllType<String>()) {
      print(name);
    }
  
    //Print out at an index, with a type
    var number = await names.getAtType<int>(1);
    print(number);
}

Non-Primitive object storage

You can store your own objects you have created easily just by implementing 2 functions in the class. toJson and fromJson. You will need to pass the fromJson function to the constructor of SimpleDatabase if you want it to rebuild the json into your object. You do not need this, it will just return a hash map with the values from your object if the function is not provided.


class SimpleClass {
  final int age;
  final String name;
  final double height;
  final bool gender;

  SimpleClass(this.age, this.name, this.height, this.gender);

  //Implement fromJson - Required
  SimpleClass.fromJson(Map<String, dynamic> json) : age = json['age'], name = json['name'], height = json['height'], gender = json['gender'];

  //Implement toJson - Required
  Map<String, dynamic> toJson() => {
    'age': age,
    'name' : name,
    'height' : height,
    'gender' : gender,
  };
}

void main() async {
    SimpleDatabase classDB = SimpleDatabase(name: 'class', fromJson: (fromJson) => SimpleClass.fromJson(fromJson));

    SimpleClass john = SimpleClass(18, 'John', 5.2, true);  

    await classDB.add(john);

    SimpleClass person = await classDB.getAtType<SimpleClass>(0);
    print(person.name);
}

TODO:

  • Built in encryption of stored json strings
  • Better documentation

Kategorien

Abhängigkeiten

Abhängigkeiten 1 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.