Упрощение хранения данных во Flutter с помощью SharedPreferences

Во Flutter, когда дело доходит до сохранения небольших объемов данных между сеансами приложения, SharedPreferences — это удобный пакет, который упрощает этот процесс. Независимо от того, храните ли вы пользовательские настройки, настройки приложения или временные данные, SharedPreferences предоставляет простой в использовании интерфейс для управления парами «ключ-значение». В этом сообщении блога мы рассмотрим различные методы и примеры кода для эффективного использования SharedPreferences в ваших приложениях Flutter.

Метод 1: инициализация SharedPreferences
Чтобы начать использовать SharedPreferences в проекте Flutter, вам необходимо добавить пакет shared_preferencesв качестве зависимости в ваш файл pubspec.yaml. После этого импортируйте пакет в файл Dart и инициализируйте SharedPreferences.

import 'package:shared_preferences/shared_preferences.dart';
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  SharedPreferences prefs = await SharedPreferences.getInstance();
}

Метод 2: хранение и получение значений
SharedPreferences позволяет хранить и получать значения с помощью ключей. Вот пример сохранения строкового значения с ключом с именем «имя пользователя» и последующего его получения.

// Storing a value
prefs.setString('username', 'JohnDoe');
// Retrieving a value
String? username = prefs.getString('username');
print(username); // Output: JohnDoe

Метод 3: хранение других типов данных
SharedPreferences поддерживает различные типы данных. Вы также можете хранить и извлекать целые числа, логические значения, двойные значения и списки. Вот пример:

// Storing an integer
prefs.setInt('age', 25);
// Retrieving an integer
int? age = prefs.getInt('age');
// Storing a boolean
prefs.setBool('isLogged', true);
// Retrieving a boolean
bool? isLogged = prefs.getBool('isLogged');
// Storing a double
prefs.setDouble('rating', 4.5);
// Retrieving a double
double? rating = prefs.getDouble('rating');
// Storing a list
prefs.setStringList('fruits', ['apple', 'banana', 'orange']);
// Retrieving a list
List<String>? fruits = prefs.getStringList('fruits');

Метод 4: проверка существования ключа
Вы можете легко проверить, существует ли ключ в SharedPreferences, используя метод containsKey:

bool hasKey = prefs.containsKey('username');
print(hasKey); // Output: true

Метод 5. Удаление пары «ключ-значение».
Чтобы удалить определенную пару «ключ-значение» из SharedPreferences, используйте метод remove:

prefs.remove('username');

Метод 6: очистка всех пар «ключ-значение»
Если вы хотите удалить все пары «ключ-значение», хранящиеся в SharedPreferences, используйте метод clear:

prefs.clear();

SharedPreferences во Flutter обеспечивает простой способ сохранения небольших объемов данных между сеансами приложения. В этой статье мы рассмотрели различные методы инициализации SharedPreferences, хранения и получения значений, обработки различных типов данных, проверки существования ключа и удаления данных. Используя возможности SharedPreferences, вы можете улучшить взаимодействие с пользователем и сделать свои приложения Flutter более универсальными и персонализированными.