Junior
O que são SharedPreferences e como usá-los?
sobes.tech IA
Resposta da IA
SharedPreferences é um mecanismo simples para guardar pequenos volumes de dados em pares chave-valor. Ideal para guardar configurações do utilizador ou pequenas flags.
Utilização:
-
Adicionar dependência: No ficheiro
pubspec.yaml, adicionamos:dependencies: flutter: sdk: flutter shared_preferences: ^2.2.0 # Use a versão atuale executamos
flutter pub get. -
Importar:
import 'package:shared_preferences/shared_preferences.dart'; -
Obter instância:
// Operação assíncrona SharedPreferences prefs = await SharedPreferences.getInstance(); -
Guardar dados:
// Guardar string 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 strings prefs.setStringList('items', ['item1', 'item2']);Todos os métodos de gravação retornam
Future<bool>, indicando o sucesso da operação. -
Ler dados:
// Ler string String? username = prefs.getString('username'); // Retorna null se a chave não existir // Ler número (int) int? age = prefs.getInt('age'); // Ler número (double) double? salary = prefs.getDouble('salary'); // Ler valor booleano bool? darkMode = prefs.getBool('darkMode'); // Ler lista de strings List<String>? items = prefs.getStringList('items'); -
Remover dados:
// Remover por chave prefs.remove('username'); // Retorna Future<bool> // Remover todos os dados prefs.clear(); // Retorna Future<bool>
Restrições:
- Não adequado para armazenar grandes volumes de dados ou estruturas complexas.
- Os dados são armazenados em formato aberto (embora ao nível da aplicação), não adequado para informações sensíveis.
- Funciona com tipos de dados básicos. Para objetos, é necessária serialização/deserialização (por exemplo, usando json).