Junior
¿Qué son SharedPreferences y cómo se usan?
sobes.tech AI
Respuesta de la IA
SharedPreferences es un mecanismo sencillo para guardar pequeños volúmenes de datos en pares clave-valor. Es ideal para guardar configuraciones de usuario o pequeñas banderas.
Uso:
-
Agregar dependencia: En el archivo
pubspec.yamlagregamos:dependencies: flutter: sdk: flutter shared_preferences: ^2.2.0 # Usa la versión actualy ejecutamos
flutter pub get. -
Importar:
import 'package:shared_preferences/shared_preferences.dart'; -
Obtener instancia:
// Operación asíncrona SharedPreferences prefs = await SharedPreferences.getInstance(); -
Guardar datos:
// Guardar cadena prefs.setString('username', 'Alice'); // Guardar número (int) prefs.setInt('age', 30); // Guardar número (double) prefs.setDouble('salary', 50000.50); // Guardar valor booleano prefs.setBool('darkMode', true); // Guardar lista de cadenas prefs.setStringList('items', ['item1', 'item2']);Todos los métodos de guardado devuelven
Future<bool>, indicando el éxito de la operación. -
Leer datos:
// Leer cadena String? username = prefs.getString('username'); // Retorna null si la clave no existe // Leer número (int) int? age = prefs.getInt('age'); // Leer número (double) double? salary = prefs.getDouble('salary'); // Leer valor booleano bool? darkMode = prefs.getBool('darkMode'); // Leer lista de cadenas List<String>? items = prefs.getStringList('items'); -
Eliminar datos:
// Eliminar por clave prefs.remove('username'); // Retorna Future<bool> // Eliminar todos los datos prefs.clear(); // Retorna Future<bool>
Restricciones:
- No apto para almacenar grandes volúmenes de datos o estructuras complejas.
- Los datos se almacenan en forma abierta (aunque a nivel de la aplicación), no apto para información sensible.
- Funciona con tipos de datos básicos. Para objetos, se requiere serialización/deserialización (por ejemplo, usando json).