Пакет shared_preferences

20.05.2019
This article was written for an older Flutter version and is being updated. Some code may not compile on the current version.

Пакет для сохранения постоянных данных ключ-значение, на устройствах iOS и Android. Реализация NSUserDefaults (на iOS) и SharedPreferences (на Android). Данные сохраняются на диске асинхронно. Ни одна платформа не может гарантировать, что записи будут сохранены на диск после возвращения, и этот плагин не должен использоваться для хранения критических данных. Т.е. стоит использовать для данных которые можно всегда получить заново: загрузкой с сервера или получить от пользователя.

https://pub.dev/packages/shared_preferences

Подключение пакета shared_preferences

Подключение в файле зависимостей pubspec.yaml :

dependencies:
  shared_preferences: 0.5.2

Подключение в dart файле:

import 'package:shared_preferences/shared_preferences.dart';

Создание экземпляра объекта SharedPreferences для дальнейшего чтения и записи данных

getdata() async {
  SharedPreferences preferences = await SharedPreferences.getInstance();
}

Чтение данных

Чтение данных типа String:

String value = preferences.getString('myStringKey');

Чтение данных типа int:

String value = preferences.getInt('myIntKey');

value = null - если данных нет

Запись данных

Запись данных типа String:

preferences.setString('myStringKey', 'test string');

Запись данных типа int:

preferences.setInt('myIntKey', 123);

Удаление данных по ключу

preferences.remove('myStringKey');
preferences.remove('myIntKey');

Удаление всех ключей

await preferences.clear();