Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev2.0.1

simple_database

Um invólucro simples e leve para o pacote SharedPreferences do Flutter.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
39
Curtidas
6
Pontos Pub
140

Instalar pacote

flutter pub add simple_database

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um wrapper leve e fácil de usar em torno do SharedPreferences do Flutter, projetado para simplificar o armazenamento persistente de dados em aplicativos Flutter. Ele abstrai operações comuns como salvar, recuperar e excluir pares chave-valor com pouca repetição de código. Ideal para aplicações de pequena escala que precisam de armazenamento local básico sem a complexidade de bancos de dados completos. O pacote é multiplataforma, suportando Android, iOS, Web, macOS, Windows e Linux, tornando-o versátil para diversos cenários de implantação.

Casos de uso

  • Armazenando preferências do usuário
  • Salvando o estado do aplicativo entre sessões
  • Armazenar em cache pequenas quantidades de dados
  • Gerenciando configurações simples
  • Persistência de tokens de login
  • Rastrear atividade do usuário

Principais recursos

  • Superfície mínima da API
  • Serialização automática de tipo
  • Compatibilidade multiplataforma
  • Configuração simples
  • Peso leve
  • Tratamento de erros

Indicado para

  • Desenvolvedores iniciantes do Flutter
  • Aplicativos pequenos a médios
  • Protótipos e MVPs
  • Aplicativos com necessidades básicas de persistência
  • Projetos evitando configurações complexas de banco de dados

Considerações

  • Não adequado para grandes conjuntos de dados
  • Sem suporte para consultas ou indexação
  • Limitado ao armazenamento de chave-valor
  • Dados não criptografados por padrão
  • O desempenho degrada-se com gravações de alta frequência
  • Melhor usado para dados não críticos e em pequena escala

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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

Categorias

Dependências

Lista de dependências 1 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.