125 votes

Comment sauvegarder sur le stockage local en utilisant Flutter ?

Dans Android, si je dispose des informations que je souhaite faire persister d'une session à l'autre, je sais que je peux utiliser SharedPreferences ou créer une base de données SQLite, voire écrire un fichier sur le périphérique et le lire ultérieurement.

Existe-t-il un moyen d'enregistrer et de restaurer des données de ce type en utilisant uniquement Flutter ? Ou dois-je écrire du code spécifique à chaque appareil pour Android et iOS, comme dans l'application exemple de services ?

7voto

Atul Points 71

Il y a quelques options :

Moor : Bibliothèque de persistance pour Dart

Lecture et écriture de fichiers

Plugin de préférences partagées pour flutter

SQlite pour flutter

4voto

AbolfazlR Points 165

Vous pouvez utiliser Stockage local

flutter pub add localstorage

1- Ajouter une dépendance à pubspec.yaml ( Changez la version en fonction de la dernière )

dependencies:
  ...
  localstorage: ^4.0.0+1

2- Ensuite, exécutez la commande suivante

flutter packages get

3- importer le localstorage :

import 'package:localstorage/localstorage.dart';

4- créer une instance

class MainApp extends StatelessWidget {
  final LocalStorage storage = new LocalStorage('localstorage_app');
  ...
}

Ajouter article à l'entrepôt de charbon :

void addItemsToLocalStorage() {
  storage.setItem('name', 'Abolfazl');
  storage.setItem('family', 'Roshanzamir');

  final info = json.encode({'name': 'Darush', 'family': 'Roshanzami'});
  storage.setItem('info', info);
}

Obtenez un article de lcoalstorage :

void getitemFromLocalStorage() {
  final name = storage.getItem('name'); // Abolfazl
  final family = storage.getItem('family'); // Roshanzamir

  Map<String, dynamic> info = json.decode(storage.getItem('info'));
  final info_name=info['name'];
  final info_family=info['family'];
}

Supprimer un article du localstorage :

void removeItemFromLocalStorage() {
  storage.deleteItem('name');
  storage.deleteItem('family');
  storage.deleteItem('info');
}

0 votes

Où est update ?????

0 votes

@Adnan haider - J'ai mis à jour ma réponse.

1voto

neogeek Points 149

Je recherchais la même chose, un stockage local simple mais avec un niveau de sécurité raisonnable. Les deux solutions que j'ai trouvées et qui ont le plus de sens sont les suivantes flutter_secure_storage (comme mentionné par Raouf ) pour les petites choses, et ruche pour les plus grands ensembles de données.

1voto

Ishan Fernando Points 894

Je pense que si vous allez stocker une grande quantité de données dans le stockage local, vous pouvez utiliser la bibliothèque sqflite. Elle est très facile à configurer et je l'ai personnellement utilisée pour quelques projets de test et elle fonctionne bien.

https://github.com/tekartik/sqflite C'est un tutoriel - https://proandroiddev.com/flutter-bookshelf-app-part-2-personal-notes-and-database-integration-a3b47a84c57

Si vous voulez stocker des données dans le nuage, vous pouvez utiliser Firebase. C'est un service solide fourni par Google.

https://firebase.google.com/docs/flutter/setup

0voto

Dhrumil Shah Points 349

Vous pouvez utiliser Préférences partagées pour une petite quantité de données. Mais si vous avez des données volumineuses et complexes, vous devriez alors utiliser Base de données Sqlite pour le stockage local dans les applications de voltige.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X