Shared Preferences является одной из наиболее популярных библиотек для сохранения простых данных в Flutter. Она предоставляет простой способ хранения пар "ключ-значение" на устройстве пользователя. В этом ответе я расскажу вам о принципах работы с этой библиотекой и основных методах.
1. Установка: Для начала работы с shared preferences необходимо добавить соответствующий пакет в файл pubspec.yaml вашего проекта.
dependencies: shared_preferences: ^2.0.6
Затем, запустите команду flutter pub get
, чтобы установить все зависимости.
2. Импорт: Далее, импортируйте пакет shared_preferences в вашем файле Dart:
import 'package:shared_preferences/shared_preferences.dart';
3. Инициализация: Чтобы начать использовать shared preferences, сначала необходимо инициализировать экземпляр класса SharedPreferences:
SharedPreferences prefs = await SharedPreferences.getInstance();
Обратите внимание на то, что метод getInstance является асинхронным и требует ключевого слова await
. Вы можете вызывать этот метод внутри функции main
или в любом другом месте, где необходим доступ к shared preferences.
4. Сохранение данных: Shared Preferences поддерживает сохранение различных типов данных, таких как строки, числа, булевы значения и т.д. Для сохранения данных используйте методы setString
, setInt
, setBool
, setDouble
:
await prefs.setString('myStringKey', 'Hello, World!'); // Сохранение строки await prefs.setInt('myIntKey', 42); // Сохранение целого числа await prefs.setBool('myBoolKey', true); // Сохранение булевого значения await prefs.setDouble('myDoubleKey', 3.14); // Сохранение числа с плавающей запятой
5. Получение данных: Чтобы получить ранее сохраненные данные, используйте методы getString
, getInt
, getBool
, getDouble
:
String myString = prefs.getString('myStringKey') ?? ''; // Получение строки int myInt = prefs.getInt('myIntKey') ?? 0; // Получение целого числа bool myBool = prefs.getBool('myBoolKey') ?? false; // Получение булевого значения double myDouble = prefs.getDouble('myDoubleKey') ?? 0.0; // Получение числа с плавающей запятой
Обратите внимание, что мы используем оператор "null-aware" ??
, чтобы предоставить значения по умолчанию в случае отсутствия ранее сохраненных данных.
6. Удаление данных: Если вам нужно удалить сохраненные ранее данные, вы можете использовать метод remove
:
prefs.remove('myStringKey'); // Удаление сохраненной строки по ключу
7. Очистка данных: Если вы хотите удалить все сохраненные ранее данные, вызовите метод clear
:
prefs.clear(); // Очистка всех сохраненных данных
Shared Preferences является быстрым и простым способом доступа к данным на устройстве пользователя в Flutter. Эта библиотека подходит для хранения небольших объемов данных, таких как настройки приложения или предпочтения пользователя. Используйте ее с умом, чтобы избежать проблем с производительностью или безопасностью.