При разработке приложений Flutter одним из общих требований является сохранение данных между сеансами приложения. Shared Preferences — популярный пакет, предоставляющий простой механизм хранения значений ключей для хранения небольших объемов данных. В этой статье мы рассмотрим, как сохранять данные с помощью карт с общими настройками во Flutter. Мы рассмотрим различные методы, предоставим примеры кода и объясним шаги в разговорной форме.
Сохранение карты в общих настройках:
-
Импортируйте пакет общих настроек:
Сначала убедитесь, что в ваш проект Flutter добавлен пакет Shared_preferences. Добавьте в файл Dart следующий оператор импорта:import 'package:shared_preferences/shared_preferences.dart'; -
Создайте экземпляр SharedPreferences:
Чтобы получить доступ к общим настройкам, создайте экземпляр SharedPreferences с помощью метода getInstance(). Этот метод возвращает Future, поэтому вам нужно использовать async/await или обрабатывать его с помощью Future.then().SharedPreferences prefs = await SharedPreferences.getInstance(); -
Сохранение карты.
Чтобы сохранить карту, используйте метод setString() экземпляра SharedPreferences. Однако, поскольку общие настройки поддерживают только хранение строк, нам необходимо преобразовать карту в строку JSON с помощью метода json.encode().Map<String, dynamic> myMap = {'key1': 'value1', 'key2': 'value2'}; String jsonMap = json.encode(myMap); prefs.setString('mapKey', jsonMap); -
Получение карты.
Чтобы получить карту из общих настроек, используйте метод getString(), а затем декодируйте строку JSON обратно в карту с помощью json.decode().String jsonMap = prefs.getString('mapKey'); Map<String, dynamic> myMap = json.decode(jsonMap);
Дополнительные методы:
Помимо основного метода, описанного выше, есть несколько дополнительных методов, которые вы можете использовать для сохранения и получения карт с помощью общих настроек:
-
Сохранение карты с помощью пользовательского ключа:
Если у вас есть несколько карт для хранения, вы можете использовать собственный ключ для каждой карты. Например:prefs.setString('mapKey1', jsonMap1); prefs.setString('mapKey2', jsonMap2); -
Обновление карты.
Чтобы обновить карту, извлеките ее из общих настроек, внесите необходимые изменения и снова сохраните ее с помощью setString().Map<String, dynamic> myMap = json.decode(prefs.getString('mapKey')); myMap['key1'] = 'updatedValue'; String updatedJsonMap = json.encode(myMap); prefs.setString('mapKey', updatedJsonMap);
Общие настройки предоставляют удобный способ сохранять и получать данные во Flutter с помощью карт. Мы изучили процесс сохранения карты в общих настройках путем преобразования ее в строку JSON, а также получения и обновления карты. Используя эти методы, вы можете эффективно сохранять небольшие объемы данных в своих приложениях Flutter.