Под ArrayList, если вы имеете в виду List-структуру данных Flutter, вы можете сохранить только List в SharedPreference, используя этот метод:
Future <bool> setStringList(String key, List<String> value)
И вы можете получить список с помощью:
List<String> getStringList(String key)
Для получения дополнительной информации о shared_preferences прочитайте эту статью.
Несколько бесплатных советов: SharedPreferences предназначены для сохранения данных, которые находятся в паре ключ-значение и являютсясвязанные с настройками пользователя.Он не должен сохранять какие-либо сложные данные, такие как список пользовательских объектов.
Если вам нужно хранить более сложные данные, рассмотрите возможность использования SQLite.