web-dev-qa-db-fra.com

Comment puis-je sauvegarder sur un stockage local en utilisant Flutter?

Sous Android, si j'ai des informations que je souhaite conserver au cours des sessions, je sais que je peux utiliser SharedPreferences ou créer une base de données SQLite ou même écrire un fichier sur le périphérique et le lire ultérieurement.

Existe-t-il un moyen de sauvegarder et de restaurer des données comme celle-ci en utilisant simplement Flutter? Ou aurais-je besoin d'écrire du code spécifique à l'appareil pour Android et iOS, comme dans l'exemple services ?

43
Reagankm

Il y a quelques options:

62
Seth Ladd

Si vous vous trouvez dans une situation où vous souhaitez enregistrer une petite valeur que vous souhaitez consulter ultérieurement. alors vous devriez stocker vos données en tant que données clé-valeur en utilisant shared_preferences 

mais si vous voulez stocker des données volumineuses, vous devriez utiliser SQLITE

cependant, vous pouvez toujours utiliser la base de données Firebase disponible hors connexion.

Puisque nous parlons de stockage local, vous pouvez toujours lire et écrire des fichiers sur le disque.

Autres solutions:

22
Raouf Rahiche

Vous pouvez utiliser les préférences shared des plugins officiels de flutter . https://github.com/flutter/plugins/tree/master/packages/shared_preferences

Il utilise les préférences partagées pour Android, NSUserDefaults pour iOS.

8
Furkan Tektas

Si vous avez besoin de stocker uniquement des valeurs simples telles que le jeton de l'API ou les données de connexion (pas les mots de passe!), Voici ce que j'ai utilisé:

import 'package:shared_preferences/shared_preferences.Dart';

asyncFunc() async { // Async func to handle Futures easier; or use Future.then
  SharedPreferences prefs = await SharedPreferences.getInstance();
}
...

// Set
prefs.setString('apiToken', token);

// Get
String token = prefs.getString('apiToken');

// Remove
prefs.remove('apiToken');

N'oubliez pas d'ajouter la dépendance shared_preferences dans votre fichier pubspec.yaml (conservez le format d'espacement):

dependencies:

  shared_preferences: any
2
George

Je pense que si vous allez stocker une grande quantité de données dans un stockage local, vous pouvez utiliser la bibliothèque sqflite. Il est très facile à installer et je l’ai personnellement utilisé pour un projet d’essai et tout fonctionne bien.

https://github.com/tekartik/sqflite Ce didacticiel - https://proandroiddev.com/flutter-bookshelf-app-part-notes-notales-et-database- integration-a3b47a84c57

Si vous souhaitez stocker des données dans un nuage, vous pouvez utiliser firebase. C'est un service solide fourni par google.

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

0
Ishan Fernando