Какие основы и принципы работы с shared preferences на flutter?

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. Эта библиотека подходит для хранения небольших объемов данных, таких как настройки приложения или предпочтения пользователя. Используйте ее с умом, чтобы избежать проблем с производительностью или безопасностью.